fix error on task_depends not defined 87/10087/2
authortierno <alfonso.tiernosepulveda@telefonica.com>
Tue, 8 Dec 2020 23:11:53 +0000 (23:11 +0000)
committertierno <alfonso.tiernosepulveda@telefonica.com>
Tue, 8 Dec 2020 23:28:22 +0000 (23:28 +0000)
Change-Id: If65158e44cf43558c8eada9c78c11971e6be4af0
Signed-off-by: tierno <alfonso.tiernosepulveda@telefonica.com>
NG-RO/osm_ng_ro/ns.py
NG-RO/osm_ng_ro/ns_thread.py

index 1b4e9eb..aa1040d 100644 (file)
@@ -548,8 +548,12 @@ class Ns(object):
                 for iface_index, interface in enumerate(target_vdu["interfaces"]):
                     if interface.get("ns-vld-id"):
                         net_text = ns_preffix + ":vld." + interface["ns-vld-id"]
-                    else:
+                    elif interface.get("vnf-vld-id"):
                         net_text = vnf_preffix + ":vld." + interface["vnf-vld-id"]
+                    else:
+                        self.logger.error("Interface {} from vdu {} not connected to any vld".format(
+                            iface_index, target_vdu["vdu-name"]))
+                        continue   # interface not connected to any vld
                     extra_dict["depends_on"].append(net_text)
                     net_item = {x: v for x, v in interface.items() if x in
                                 ("name", "vpci", "port_security", "port_security_disable_strategy", "floating_ip")}
index 013cae9..0ec8452 100644 (file)
@@ -1222,6 +1222,7 @@ class NsWorker(threading.Thread):
                 for task_index, task in enumerate(ro_task["tasks"]):
                     if not task:
                         continue  # task deleted
+                    task_depends = {}
                     target_update = None
                     if (task_action in ("DELETE", "EXEC") and task["status"] not in ("SCHEDULED", "BUILD")) or \
                             task["action"] != task_action or \
@@ -1231,7 +1232,6 @@ class NsWorker(threading.Thread):
                     try:
                         db_vim_info_update = None
                         if task["status"] == "SCHEDULED":
-                            task_depends = {}
                             # check if tasks that this depends on have been completed
                             dependency_not_completed = False
                             for dependency_task_id in (task.get("depends_on") or ()):