X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=rwlaunchpad%2Fplugins%2Frwpkgmgr%2Frift%2Ftasklets%2Frwpkgmgr%2Frwpkgmgr.py;fp=rwlaunchpad%2Fplugins%2Frwpkgmgr%2Frift%2Ftasklets%2Frwpkgmgr%2Frwpkgmgr.py;h=0fcabe3749fc04eceee751efc338b4010eb4cbcc;hb=a3bb91f092d378448cb870eccd45d43865de143c;hp=0a93ade80afc80beb2113f5cac651f98227098fc;hpb=cd455eba9834532e57a661e41cd5864afc90ddec;p=osm%2FSO.git diff --git a/rwlaunchpad/plugins/rwpkgmgr/rift/tasklets/rwpkgmgr/rwpkgmgr.py b/rwlaunchpad/plugins/rwpkgmgr/rift/tasklets/rwpkgmgr/rwpkgmgr.py index 0a93ade8..0fcabe37 100644 --- a/rwlaunchpad/plugins/rwpkgmgr/rift/tasklets/rwpkgmgr/rwpkgmgr.py +++ b/rwlaunchpad/plugins/rwpkgmgr/rift/tasklets/rwpkgmgr/rwpkgmgr.py @@ -47,22 +47,31 @@ class PackageManagerProject(ManoProject): def __init__(self, name, tasklet, **kw): super(PackageManagerProject, self).__init__(tasklet.log, name) self.update(tasklet) + proxy = kw["proxy"] args = [self.log, self.dts, self.loop, self] self.job_handler = pkg_publisher.DownloadStatusPublisher(*args) + self.copy_publisher = pkg_publisher.CopyStatusPublisher(*args + [self.tasklet.tasklet_info]) + # create catalog subscribers self.vnfd_catalog_sub = subscriber.VnfdStatusSubscriber(*args) self.nsd_catalog_sub = subscriber.NsdStatusSubscriber(*args) - + + args.append(proxy) + self.copy_rpc = rpc.PackageCopyOperationsRpcHandler(*(args + [self.copy_publisher])) @asyncio.coroutine def register (self): yield from self.vnfd_catalog_sub.register() yield from self.nsd_catalog_sub.register() + yield from self.copy_rpc.register() + yield from self.copy_publisher.register() yield from self.job_handler.register() def deregister (self): yield from self.job_handler.deregister() + yield from self.copy_rpc.deregister() + yield from self.copy_publisher.deregister() yield from self.vnfd_catalog_sub.deregister() yield from self.nsd_catalog_sub.deregister() @@ -82,27 +91,35 @@ class PackageManagerTasklet(rift.tasklets.Tasklet): self.log.exception(e) def start(self): - super().start() self.log.debug("Registering with dts") - self.dts = rift.tasklets.DTS( + try: + super().start() + self.dts = rift.tasklets.DTS( self.tasklet_info, RwPkgMgmtYang.get_schema(), self.loop, self.on_dts_state_change ) - proxy = filesystem.FileSystemProxy(self.loop, self.log) + proxy = filesystem.FileSystemProxy(self.loop, self.log) + args = [self.log, self.dts, self.loop] - args = [self.log, self.dts, self.loop] - args.append(proxy) - self.endpoint_rpc = rpc.EndpointDiscoveryRpcHandler(*args) - self.schema_rpc = rpc.SchemaRpcHandler(*args) - self.delete_rpc = rpc.PackageDeleteOperationsRpcHandler(*args) + args.append(proxy) + self.endpoint_rpc = rpc.EndpointDiscoveryRpcHandler(*args) + self.schema_rpc = rpc.SchemaRpcHandler(*args) + self.delete_rpc = rpc.PackageDeleteOperationsRpcHandler(*args) + + args.append(self) + self.pkg_op = rpc.PackageOperationsRpcHandler(*args) - args.append(self) - self.pkg_op = rpc.PackageOperationsRpcHandler(*args) + self.project_handler = ProjectHandler(self, PackageManagerProject, + proxy=proxy,) + except Exception as e: + self.log.exception("Exception caught rwpkgmgr start: %s", str(e)) + else: + self.log.debug("rwpkgmgr started successfully!") def stop(self): try: