""" Handles DTS interactions for the Discovered Topology registration """
DISC_XPATH = "D,/nd:network"
- def __init__(self, dts, log, loop, acctstore, nwdatastore):
+ def __init__(self, dts, log, loop, project, acctstore, nwdatastore):
self._dts = dts
self._log = log
self._loop = loop
+ self._project = project
self._acctstore = acctstore
self._nwdatastore = nwdatastore
""" The registration handle associated with this Handler"""
return self._regh
+ def deregister(self):
+ self._log.debug("De-register Topology discovery handler for project {}".
+ format(self._project.name))
+ if self._regh:
+ self._regh.deregister()
+ self._regh = None
+
@asyncio.coroutine
def register(self):
""" Register for the Discovered Topology path """
""" Handles DTS interactions for the Static Topology registration """
STATIC_XPATH = "C,/nd:network"
- def __init__(self, dts, log, loop, acctstore, nwdatastore):
+ def __init__(self, dts, log, loop, project, acctstore, nwdatastore):
self._dts = dts
self._log = log
self._loop = loop
+ self._project = project
self._acctstore = acctstore
self._regh = None
def regh(self):
""" The registration handle associated with this Handler"""
return self._regh
-
-
+
+ def deregister(self):
+ self._log.debug("De-register Topology static handler for project {}".
+ format(self._project.name))
+ if self._regh:
+ self._regh.deregister()
+ self._regh = None
+
@asyncio.coroutine
def register(self):
""" Register for the Static Topology path """
on_apply=apply_nw_config)
with self._dts.appconf_group_create(handler=handler) as acg:
- acg.register(xpath = NwtopStaticDtsHandler.STATIC_XPATH,
- flags = rwdts.Flag.SUBSCRIBER,
- on_prepare=prepare_nw_cfg)
-
-
+ self._regh = acg.register(xpath = NwtopStaticDtsHandler.STATIC_XPATH,
+ flags = rwdts.Flag.SUBSCRIBER,
+ on_prepare=prepare_nw_cfg)