fix(FS): sync problems fixed syncing only the particular NSD and VNFD that the instan... 77/10777/1
authorbravof <fbravo@whitestack.com>
Thu, 11 Mar 2021 15:03:30 +0000 (12:03 -0300)
committerbravof <fbravo@whitestack.com>
Fri, 7 May 2021 13:23:35 +0000 (15:23 +0200)
Change-Id: I7410f6f39aa58a57ab91410c45dc7d7042b0293d
Signed-off-by: bravof <fbravo@whitestack.com>
(cherry picked from commit 021e70d2eb5caa25a7e731ed70f2a008cf8057d7)

osm_lcm/ns.py

index 3ba3645..230a9bf 100644 (file)
@@ -1657,9 +1657,6 @@ class NsLcm(LcmBase):
             # wait for any previous tasks in process
             await self.lcm_tasks.waitfor_related_HA('ns', 'nslcmops', nslcmop_id)
 
-            stage[1] = "Sync filesystem from database."
-            self.fs.sync()  # TODO, make use of partial sync, only for the needed packages
-
             # STEP 0: Reading database (nslcmops, nsrs, nsds, vnfrs, vnfds)
             stage[1] = "Reading from database."
             # nsState="BUILDING", currentOperation="INSTANTIATING", currentOperationID=nslcmop_id
@@ -1692,6 +1689,7 @@ class NsLcm(LcmBase):
             db_nsr = self.db.get_one("nsrs", {"_id": nsr_id})
             stage[1] = "Getting nsd={} from db.".format(db_nsr["nsd-id"])
             nsd = self.db.get_one("nsds", {"_id": db_nsr["nsd-id"]})
+            self.fs.sync(db_nsr["nsd-id"])
             db_nsr["nsd"] = nsd
             # nsr_name = db_nsr["name"]   # TODO short-name??
 
@@ -1708,6 +1706,7 @@ class NsLcm(LcmBase):
                 db_vnfrs[vnfr["member-vnf-index-ref"]] = vnfr
                 vnfd_id = vnfr["vnfd-id"]
                 vnfd_ref = vnfr["vnfd-ref"]
+                self.fs.sync(vnfd_id)
 
                 # if we haven't this vnfd, read it from db
                 if vnfd_id not in db_vnfds: