Fix IP address auto-assignment for VDU at instantiation and scaling
[osm/RO.git] / RO / osm_ro / nfvo.py
index 74258af..3e1f377 100644 (file)
@@ -490,9 +490,9 @@ def rollback(mydb,  vims, rollback_list):
                 logger.error("Error in rollback. Not possible to delete %s '%s' from DB. Message: %s", item['what'], item["uuid"], str(e))
                 undeleted_items.append("{} '{}'".format(item['what'], item["uuid"]))
     if len(undeleted_items)==0:
-        return True,Rollback successful."
+        return True, "Rollback successful."
     else:
-        return False,Rollback fails to delete: " + str(undeleted_items)
+        return False, "Rollback fails to delete: " + str(undeleted_items)
 
 
 def check_vnf_descriptor(vnf_descriptor, vnf_descriptor_version=1):
@@ -3789,7 +3789,7 @@ def create_instance(mydb, tenant_id, instance_dict):
         returned_instance["action_id"] = instance_action_id
         return returned_instance
     except (NfvoException, vimconn.VimConnException, sdnconn.SdnConnectorError, db_base_Exception) as e:
-        message = rollback(mydb, myvims, rollbackList)
+        _, message = rollback(mydb, myvims, rollbackList)
         if isinstance(e, db_base_Exception):
             error_text = "database Exception"
         elif isinstance(e, vimconn.VimConnException):
@@ -3797,8 +3797,8 @@ def create_instance(mydb, tenant_id, instance_dict):
         elif isinstance(e, sdnconn.SdnConnectorError):
             error_text = "WIM Exception"
         else:
-            error_text = "Exception"
-        error_text += " {} {}. {}".format(type(e).__name__, str(e), message)
+            error_text = "Exception " + str(type(e).__name__)
+        error_text += " {}. {}".format(e, message)
         # logger.error("create_instance: %s", error_text)
         logger.exception(e)
         raise NfvoException(error_text, e.http_code)
@@ -4199,7 +4199,7 @@ def instantiate_vnf(mydb, sce_vnf, params, params_out, rollbackList):
                         i = ip.rfind(".")
                         if i > 0:
                             i += 1
-                            ip = ip[i:] + str(int(ip[:i]) + 1)
+                            ip = ip[:i] + str(int(ip[i:]) + 1)
                             db_vm_iface_instance["ip_address"] = ip
                     except:
                         db_vm_iface_instance["ip_address"] = None
@@ -4921,7 +4921,7 @@ def instance_action(mydb,nfvo_tenant,instance_id, action_dict):
                                 i = ip.rfind(".")
                                 if i > 0:
                                     i += 1
-                                    ip = ip[i:] + str(int(ip[:i]) + 1)
+                                    ip = ip[:i] + str(int(ip[i:]) + 1)
                                     iface["ip_address"] = ip
                             except:
                                 iface["ip_address"] = None