)
class DownloadStatusSubscriber(mano_dts.AbstractOpdataSubscriber):
+ def __init__(self, log, dts, loop, project, callback):
+ super().__init__(log, dts, loop, project, callback)
+
+ def get_xpath(self):
+ return self._project.add_project(
+ "D,/rw-pkg-mgmt:download-jobs/rw-pkg-mgmt:job")
- def __init__(self, log, dts, loop, callback):
- super().__init__(log, dts, loop, callback)
-
- def get_xpath(self):
- return ("D,/rw-pkg-mgmt:download-jobs/rw-pkg-mgmt:job")
class VnfdStatusSubscriber(DownloadStatusSubscriber):
DOWNLOAD_DIR = store.VnfdPackageFilesystemStore.DEFAULT_ROOT_DIR
MODULE_DESC = 'vnfd rw-vnfd'.split()
DESC_TYPE = 'vnfd'
- def __init__(self, log, dts, loop):
- super().__init__(log, dts, loop, self.on_change)
- self.subscriber = mano_dts.VnfdCatalogSubscriber(log, dts, loop)
+ def __init__(self, log, dts, loop, project):
+ super().__init__(log, dts, loop, project, self.on_change)
+ self.subscriber = mano_dts.VnfdCatalogSubscriber(log, dts, loop, project)
def on_change(self, msg, action):
log_msg = "1. Vnfd called w/ msg attributes: {} id {} name {} action: {}".format(repr(msg), msg.id, msg.name, repr(action))
if action == RwDts.QueryAction.UPDATE:
actionCreate(self, msg)
else:
- self.log.debug("VnfdStatusSubscriber: No action for ", action)
+ self.log.debug("VnfdStatusSubscriber: No action for {}".format(repr(action)))
pass
def get_xpath(self):
MODULE_DESC = 'nsd rw-nsd'.split()
DESC_TYPE = 'nsd'
- def __init__(self, log, dts, loop):
- super().__init__(log, dts, loop, self.on_change)
- self.subscriber = mano_dts.NsdCatalogSubscriber(log, dts, loop)
+ def __init__(self, log, dts, loop, project):
+ super().__init__(log, dts, loop, project, self.on_change)
+ self.subscriber = mano_dts.NsdCatalogSubscriber(log, dts, loop, project)
def on_change(self, msg, action):
log_msg = "1. Nsd called w/ msg attributes: {} id {} name {} action: {}".format(repr(msg), msg.id, msg.name, repr(action))
if action == RwDts.QueryAction.UPDATE:
actionCreate(self, msg)
else:
- self.log.debug("NsdStatusSubscriber: No action for ", action)
+ self.log.debug("NsdStatusSubscriber: No action for {}".format(repr(action)))
pass
def get_xpath(self):
'''
desc_name = msg.name if msg.name else ""
- download_dir = os.path.join(descriptor.DOWNLOAD_DIR, msg.id, desc_name)
-
- if not os.path.exists(download_dir):
- os.makedirs(download_dir)
- descriptor.log.debug("Created directory {}".format(download_dir))
-
- model = RwYang.Model.create_libncx()
- for module in descriptor.MODULE_DESC: model.load_module(module)
-
- yaml_path = "{base}/{name}_{type}.yaml".format(base=download_dir, name=msg.name, type=descriptor.DESC_TYPE)
- with open(yaml_path,"w") as fh:
- fh.write(msg.to_yaml(model))
+ download_dir = os.path.join(descriptor.DOWNLOAD_DIR, msg.id)
+
+ # If a download dir is present with contents, then we know it has been created in the
+ # upload path.
+ if os.path.exists(download_dir) and os.listdir(download_dir):
+ descriptor.log.debug("Skpping folder creation, {} already present".format(download_dir))
+ return
+ else:
+ download_dir = os.path.join(download_dir, desc_name)
+ if not os.path.exists(download_dir):
+ os.makedirs(download_dir)
+ descriptor.log.debug("Created directory {}".format(download_dir))
+
+ model = RwYang.Model.create_libncx()
+ for module in descriptor.MODULE_DESC: model.load_module(module)
+
+ yaml_path = "{base}/{name}_{type}.yaml".format(base=download_dir, name=msg.name, type=descriptor.DESC_TYPE)
+ with open(yaml_path,"w") as fh:
+ fh.write(msg.to_yaml(model))