Bug fixed in install-openmano.sh to run config scripts from the appropriate base...
[osm/RO.git] / nfvo.py
diff --git a/nfvo.py b/nfvo.py
index 7dbd51d..c27c51e 100644 (file)
--- a/nfvo.py
+++ b/nfvo.py
@@ -41,10 +41,11 @@ from db_base import db_base_Exception
 
 global global_config
 global vimconn_imported
+global logger
 
 
 vimconn_imported={} #dictionary with VIM type as key, loaded module as value
-logger = logging.getLogger('mano.nfvo')
+logger = logging.getLogger('openmano.nfvo')
 
 class NfvoException(Exception):
     def __init__(self, message, http_code):
@@ -952,6 +953,7 @@ def new_scenario(mydb, tenant_id, topo):
 #1.4 get list of connections
     conections = topo['topology']['connections']
     conections_list = []
+    conections_list_name = []
     for k in conections.keys():
         if type(conections[k]['nodes'])==dict: #dict with node:iface pairs
             ifaces_list = conections[k]['nodes'].items()
@@ -980,7 +982,7 @@ def new_scenario(mydb, tenant_id, topo):
         if con_type == "dataplane_net" or con_type == "bridge_net": 
             other_nets[k]["model"] = con_type
         
-        
+        conections_list_name.append(k)
         conections_list.append(set(ifaces_list)) #from list to set to operate as a set (this conversion removes elements that are repeated in a list)
         #print set(ifaces_list)
     #check valid VNF and iface names
@@ -1000,6 +1002,7 @@ def new_scenario(mydb, tenant_id, topo):
             if len(conections_list[index] & conections_list[index2])>0: #common interface, join nets
                 conections_list[index] |= conections_list[index2]
                 del conections_list[index2]
+                del conections_list_name[index2]
             else:
                 index2 += 1
         conections_list[index] = list(conections_list[index])  # from set to list again
@@ -1106,7 +1109,8 @@ def new_scenario(mydb, tenant_id, topo):
                 net_type_bridge=False
                 net_type_data=False
                 net_target = "__-__net"+str(net_nb)
-                net_list[net_target] = {'name': "net-"+str(net_nb), 'description':"net-%s in scenario %s" %(net_nb,topo['name']),
+                net_list[net_target] = {'name': conections_list_name[net_nb],  #"net-"+str(net_nb), 
+                    'description':"net-%s in scenario %s" %(net_nb,topo['name']),
                     'external':False} 
                 for iface in con:
                     vnfs[ iface[0] ]['ifaces'][ iface[1] ]['net_key'] = net_target
@@ -1182,7 +1186,7 @@ def new_scenario_v02(mydb, tenant_id, scenario_dict):
         where={}
         where_or={"tenant_id": tenant_id, 'public': "true"}
         error_text = ""
-        error_pos = "'topology':'nodes':'" + name + "'"
+        error_pos = "'scenario':'vnfs':'" + name + "'"
         if 'vnf_id' in vnf:
             error_text += " 'vnf_id' " +  vnf['vnf_id']
             where['uuid'] = vnf['vnf_id']
@@ -1190,7 +1194,7 @@ def new_scenario_v02(mydb, tenant_id, scenario_dict):
             error_text += " 'vnf_name' " +  vnf['vnf_name']
             where['name'] = vnf['vnf_name']
         if len(where) == 0:
-            raise NfvoException("Needed a 'vnf_id' or 'VNF model' at " + error_pos, HTTP_Bad_Request)
+            raise NfvoException("Needed a 'vnf_id' or 'vnf_name' at " + error_pos, HTTP_Bad_Request)
         vnf_db = mydb.get_rows(SELECT=('uuid','name','description'),
                                FROM='vnfs',
                                WHERE=where,
@@ -1521,7 +1525,7 @@ def new_scenario_v03(mydb, tenant_id, scenario_dict):
         where={}
         where_or={"tenant_id": tenant_id, 'public': "true"}
         error_text = ""
-        error_pos = "'topology':'nodes':'" + name + "'"
+        error_pos = "'scenario':'vnfs':'" + name + "'"
         if 'vnf_id' in vnf:
             error_text += " 'vnf_id' " +  vnf['vnf_id']
             where['uuid'] = vnf['vnf_id']
@@ -1529,7 +1533,7 @@ def new_scenario_v03(mydb, tenant_id, scenario_dict):
             error_text += " 'vnf_name' " +  vnf['vnf_name']
             where['name'] = vnf['vnf_name']
         if len(where) == 0:
-            raise NfvoException("Needed a 'vnf_id' or 'VNF model' at " + error_pos, HTTP_Bad_Request)
+            raise NfvoException("Needed a 'vnf_id' or 'vnf_name' at " + error_pos, HTTP_Bad_Request)
         vnf_db = mydb.get_rows(SELECT=('uuid','name','description'),
                                FROM='vnfs',
                                WHERE=where,
@@ -1726,7 +1730,7 @@ def create_instance(mydb, tenant_id, instance_dict):
                             ipprofile['dhcp_count'] = ipprofile['dhcp'].get('count',None)
                             del ipprofile['dhcp']
                         update(scenario_net['ip_profile'],ipprofile)
-            for interface in net_instance_desc['interfaces']:
+            for interface in net_instance_desc.get('interfaces', () ):
                 if 'ip_address' in interface:
                     for vnf in scenarioDict['vnfs']:
                         if interface['vnf'] == vnf['name']: