Fix wrong usage of `isinstance`
[osm/RO.git] / osm_ro / nfvo_db.py
index 9d52803..bad7cec 100644 (file)
@@ -21,9 +21,9 @@
 # contact with: nfvlabs@tid.es
 ##
 
-'''
+"""
 NFVO DB engine. It implements all the methods to interact with the Openmano Database
-'''
+"""
 __author__="Alfonso Tierno, Gerardo Garcia, Pablo Montes"
 __date__ ="$28-aug-2014 10:05:01$"
 
@@ -629,18 +629,22 @@ class nfvo_db(db_base.db_base):
                             else:
                                 del vm["image_list"]
                             if datacenter_vim_id!=None:
-                                cmd = "SELECT vim_id FROM datacenters_images WHERE image_id='{}' AND datacenter_vim_id='{}'".format(vm['image_id'],datacenter_vim_id)
-                                self.logger.debug(cmd)
-                                self.cur.execute(cmd)
-                                if self.cur.rowcount==1:
-                                    vim_image_dict = self.cur.fetchone()
-                                    vm['vim_image_id']=vim_image_dict['vim_id']
-                                cmd = "SELECT vim_id FROM datacenters_flavors WHERE flavor_id='{}' AND datacenter_vim_id='{}'".format(vm['flavor_id'],datacenter_vim_id)
-                                self.logger.debug(cmd)
-                                self.cur.execute(cmd)
-                                if self.cur.rowcount==1:
-                                    vim_flavor_dict = self.cur.fetchone()
-                                    vm['vim_flavor_id']=vim_flavor_dict['vim_id']
+                                if vm['image_id']:
+                                    cmd = "SELECT vim_id FROM datacenters_images WHERE image_id='{}' AND " \
+                                          "datacenter_vim_id='{}'".format(vm['image_id'], datacenter_vim_id)
+                                    self.logger.debug(cmd)
+                                    self.cur.execute(cmd)
+                                    if self.cur.rowcount==1:
+                                        vim_image_dict = self.cur.fetchone()
+                                        vm['vim_image_id']=vim_image_dict['vim_id']
+                                if vm['flavor_id']:
+                                    cmd = "SELECT vim_id FROM datacenters_flavors WHERE flavor_id='{}' AND " \
+                                          "datacenter_vim_id='{}'".format(vm['flavor_id'], datacenter_vim_id)
+                                    self.logger.debug(cmd)
+                                    self.cur.execute(cmd)
+                                    if self.cur.rowcount==1:
+                                        vim_flavor_dict = self.cur.fetchone()
+                                        vm['vim_flavor_id']=vim_flavor_dict['vim_id']
 
                             #interfaces
                             cmd = "SELECT uuid,internal_name,external_name,net_id,type,vpci,mac,bw,model,ip_address," \
@@ -724,7 +728,8 @@ class nfvo_db(db_base.db_base):
                         self.cur.execute(cmd)
                         vnffg['rsps'] = self.cur.fetchall()
                         for rsp in vnffg['rsps']:
-                            cmd = "SELECT uuid,if_order,interface_id,sce_vnf_id FROM sce_rsp_hops WHERE sce_rsp_id='{}' "\
+                            cmd = "SELECT uuid,if_order,ingress_interface_id,egress_interface_id,sce_vnf_id " \
+                                  "FROM sce_rsp_hops WHERE sce_rsp_id='{}' "\
                                   "ORDER BY created_at".format(rsp['uuid'])
                             self.logger.debug(cmd)
                             self.cur.execute(cmd)