Fix 1716: get nsr vca id from vim account 85/11285/1
authorDavid Garcia <david.garcia@canonical.com>
Thu, 21 Oct 2021 15:03:48 +0000 (17:03 +0200)
committerDavid Garcia <david.garcia@canonical.com>
Thu, 21 Oct 2021 15:03:48 +0000 (17:03 +0200)
Change-Id: I814e8c2e9f4ad4fb973958abe5c9453138f701fb
Signed-off-by: David Garcia <david.garcia@canonical.com>
osm_lcm/ns.py

index 1c18ec7..fc2c9f6 100644 (file)
@@ -1557,9 +1557,13 @@ class NsLcm(LcmBase):
         raise LcmException("Configuration aborted because dependent charm/s timeout")
 
     def get_vca_id(self, db_vnfr: dict, db_nsr: dict):
-        return deep_get(db_vnfr, ("vca-id",)) or deep_get(
-            db_nsr, ("instantiate_params", "vcaId")
-        )
+        vca_id = None
+        if db_vnfr:
+            vca_id = deep_get(db_vnfr, ("vca-id",))
+        elif db_nsr:
+            vim_account_id = deep_get(db_nsr, ("instantiate_params", "vimAccountId"))
+            vca_id = VimAccountDB.get_vim_account_with_id(vim_account_id).get("vca")
+        return vca_id
 
     async def instantiate_N2VC(
         self,