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

lvroyce at linux.vnet.ibm.com lvroyce at linux.vnet.ibm.com
Tue Feb 25 08:35:45 UTC 2014


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,
-- 
1.8.1.2




More information about the Kimchi-devel mailing list