[Kimchi-devel] [PATCHv3 1/5] Fix vm disk path when it does not have source element

Royce Lv lvroyce at linux.vnet.ibm.com
Thu Feb 27 02:53:09 UTC 2014


On 2014年02月26日 01:40, Aline Manera wrote:
> On 02/25/2014 05:35 AM, lvroyce at linux.vnet.ibm.com wrote:
>> From: Royce Lv <lvroyce at linux.vnet.ibm.com>
>>
>> When vm disk does not have source element,
>> objectify library will error with 'no such element: source'
>> Trap this exception.
>>
>> Signed-off-by: Royce Lv <lvroyce at linux.vnet.ibm.com>
>> ---
>> src/kimchi/model/vmstorages.py | 23 +++++++++++++----------
>> 1 file changed, 13 insertions(+), 10 deletions(-)
>>
>> diff --git a/src/kimchi/model/vmstorages.py 
>> b/src/kimchi/model/vmstorages.py
>> index 7796f30..44b49df 100644
>> --- a/src/kimchi/model/vmstorages.py
>> +++ b/src/kimchi/model/vmstorages.py
>> @@ -167,17 +167,20 @@ class VMStorageModel(object):
>> if disk is None:
>> raise NotFoundError("KCHCDROM0007E", {'dev_name': dev_name,
>> 'vm_name': vm_name})
>> - source = disk.source
>> path = ""
>> - if source is not None:
>> - src_type = disk.attrib['type']
>> - if src_type == 'network':
>> - host = source.host
>> - path = (source.attrib['protocol'] + '://' +
>> - host.attrib['name'] + ':' +
>> - host.attrib['port'] + source.attrib['name'])
>> - else:
>> - path = source.attrib[DEV_TYPE_SRC_ATTR_MAP[src_type]]
>> + try:
>> + source = disk.source
>> + if source is not None:
>> + src_type = disk.attrib['type']
>> + if src_type == 'network':
>> + host = source.host
>> + path = (source.attrib['protocol'] + '://' +
>> + host.attrib['name'] + ':' +
>> + host.attrib['port'] + source.attrib['name'])
>> + else:
>> + path = source.attrib[DEV_TYPE_SRC_ATTR_MAP[src_type]]
>> + except:
>> + pass
>> dev_type = disk.attrib['device']
>> return {'dev': dev_name,
>> 'type': dev_type,
>
> Q. When is there no 'source' element?
I have a vm in virtmanager, which disconnect the cdrom(media-ejected) 
this does not have any source and run the previous code,
error raise.
>
> And independent on that, we still need to return the 'path' in 
> addition to 'dev' and 'type'
ACK
>
>
>




More information about the Kimchi-devel mailing list