X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FN2VC.git;a=blobdiff_plain;f=n2vc%2Fvnf.py;h=1bdfe2f4c949406a24ceffe576557457a1f926cd;hp=28305710d7dc4f44fe1b2749b2c3c78ad93cfc6c;hb=29ad6453fb8cdece73b8c2f623cf81d5d730982d;hpb=c4f393e2cc27e8beb337d0058c11f7413f6639f6 diff --git a/n2vc/vnf.py b/n2vc/vnf.py index 2830571..1bdfe2f 100644 --- a/n2vc/vnf.py +++ b/n2vc/vnf.py @@ -805,6 +805,10 @@ class N2VC: except JujuError as e: if "already exists" not in e.message: raise e + + # Create an observer for this model + await self.create_model_monitor(ns_uuid) + return True async def DestroyNetworkService(self, ns_uuid): @@ -1061,10 +1065,20 @@ class N2VC: self.refcount['model'] += 1 # Create an observer for this model + await self.create_model_monitor(model_name) + + return self.models[model_name] + + async def create_model_monitor(self, model_name): + """Create a monitor for the model, if none exists.""" + if not self.authenticated: + await self.login() + + if model_name not in self.monitors: self.monitors[model_name] = VCAMonitor(model_name) self.models[model_name].add_observer(self.monitors[model_name]) - return self.models[model_name] + return True async def login(self): """Login to the Juju controller."""