[Kimchi-devel] [PATCHv3 1/5] Fix vm disk path when it does not have source element
Aline Manera
alinefm at linux.vnet.ibm.com
Tue Feb 25 17:40:48 UTC 2014
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?
And independent on that, we still need to return the 'path' in addition
to 'dev' and 'type'
More information about the Kimchi-devel
mailing list