Bug 2052 fixed: avoid trying to insert pk in a VM for a KNF VCA 49/12149/1 v10.1.1
authorPedro Escaleira <escaleira@av.it.pt>
Mon, 30 May 2022 14:37:01 +0000 (15:37 +0100)
committerPedro Escaleira <escaleira@av.it.pt>
Tue, 31 May 2022 15:22:49 +0000 (16:22 +0100)
Change-Id: I62bb34d29848c57fda2af6556d5e8fce6795f0c8
Signed-off-by: Pedro Escaleira <escaleira@av.it.pt>
osm_lcm/ns.py

index 8ef5f2a..5cd55fb 100644 (file)
@@ -1934,6 +1934,9 @@ class NsLcm(LcmBase):
                     step = "Waiting to VM being up and getting IP address"
                 self.logger.debug(logging_text + step)
 
+                # default rw_mgmt_ip to None, avoiding the non definition of the variable
+                rw_mgmt_ip = None
+
                 # n2vc_redesign STEP 5.1
                 # wait for RO (ip-address) Insert pub_key into VM
                 if vnfr_id:
@@ -1941,7 +1944,13 @@ class NsLcm(LcmBase):
                         rw_mgmt_ip = await self.wait_kdu_up(
                             logging_text, nsr_id, vnfr_id, kdu_name
                         )
-                    else:
+
+                    # This verification is needed in order to avoid trying to add a public key
+                    # to a VM, when the VNF is a KNF (in the edge case where the user creates a VCA
+                    # for a KNF and not for its KDUs, the previous verification gives False, and the code
+                    # jumps to this block, meaning that there is the need to verify if the VNF is actually a VNF
+                    # or it is a KNF)
+                    elif db_vnfr.get('vdur'):
                         rw_mgmt_ip = await self.wait_vm_up_insert_key_ro(
                             logging_text,
                             nsr_id,
@@ -1951,8 +1960,6 @@ class NsLcm(LcmBase):
                             user=user,
                             pub_key=pub_key,
                         )
-                else:
-                    rw_mgmt_ip = None  # This is for a NS configuration
 
                 self.logger.debug(logging_text + " VM_ip_address={}".format(rw_mgmt_ip))