self._cli_api = None
self._http_api = None
self._openmano_nsrs = {}
- self._vnfr_uptime_tasks = {}
self._openmano_nsr_by_vnfr_id = {}
#self._nsr_uuid = None
self._log.debug("Attempting to publish openmano vnf: %s", vnfr_msg)
with self._dts.transaction() as xact:
yield from self._publisher.publish_vnfr(xact, vnfr_msg)
- self._log.debug("Creating a task to update uptime for vnfr: %s", vnfr.id)
- self._vnfr_uptime_tasks[vnfr.id] = self._loop.create_task(self.vnfr_uptime_update(vnfr))
-
- def vnfr_uptime_update(self, vnfr):
- try:
- vnfr_ = RwVnfrYang.YangData_Vnfr_VnfrCatalog_Vnfr.from_dict({'id': vnfr.id})
- while True:
- vnfr_.uptime = int(time.time()) - vnfr._create_time
- yield from self._publisher.publish_vnfr(None, vnfr_)
- yield from asyncio.sleep(2, loop=self._loop)
- except asyncio.CancelledError:
- self._log.debug("Received cancellation request for vnfr_uptime_update task")
@asyncio.coroutine
def instantiate_vl(self, nsr, vlr):
openmano_vnf_nsr.terminate()
openmano_vnf_nsr.delete()
yield from openmano_vnf_nsr.remove_vnf(vnfr)
- if vnfr.id in self._vnfr_uptime_tasks:
- self._vnfr_uptime_tasks[vnfr.id].cancel()
@asyncio.coroutine
def terminate_vl(self, vlr):
self._is_active = False
self._vl_phase_completed = False
self._vnf_phase_completed = False
- self.vlr_uptime_tasks = {}
-
# Initalise the state to init
# The NSR moves through the following transitions
vlr.state = VlRecordState.ACTIVE
- def vlr_uptime_update(self, vlr):
- try:
-
- vlr_ = RwVlrYang.YangData_Vlr_VlrCatalog_Vlr.from_dict({'id': vlr.id})
- while True:
- vlr_.uptime = int(time.time()) - vlr._create_time
- yield from self._vlr_handler.update(None, VirtualLinkRecord.vlr_xpath(vlr), vlr_)
- yield from asyncio.sleep(2, loop=self._loop)
- except asyncio.CancelledError:
- self._log.debug("Received cancellation request for vlr_uptime_update task")
- yield from self._vlr_handler.delete(None, VirtualLinkRecord.vlr_xpath(vlr))
-
-
@asyncio.coroutine
def create(self, config_xact):
""" Create this network service"""
for vlr in self.vlrs:
yield from self.nsm_plugin.terminate_vl(vlr)
vlr.state = VlRecordState.TERMINATED
- if vlr.id in self.vlr_uptime_tasks:
- self.vlr_uptime_tasks[vlr.id].cancel()
self._log.debug("Terminating network service id %s", self.id)