VOL-1453 changed adapter agent references to core_proxy
Change-Id: Ie3ae798e859d11b317b2c6629906089038e528e3
diff --git a/python/adapters/brcm_openomci_onu/brcm_openomci_onu_handler.py b/python/adapters/brcm_openomci_onu/brcm_openomci_onu_handler.py
index ce74795..cd7fc62 100644
--- a/python/adapters/brcm_openomci_onu/brcm_openomci_onu_handler.py
+++ b/python/adapters/brcm_openomci_onu/brcm_openomci_onu_handler.py
@@ -210,7 +210,6 @@
self.proxy_address = device.proxy_address
self.parent_id = device.parent_id
self._pon_port_number = device.parent_port_no
-
if self.enabled is not True:
self.log.info('activating-new-onu')
# populate what we know. rest comes later after mib sync
@@ -259,6 +258,7 @@
self.log.info('onu-already-activated')
# Called once when the adapter needs to re-create device. usually on vcore restart
+ @inlineCallbacks
def reconcile(self, device):
self.log.debug('function-entry', device=device)
@@ -266,10 +266,6 @@
assert device.parent_id
assert device.proxy_address.device_id
- # register for proxied messages right away
- self.proxy_address = device.proxy_address
- self.adapter_agent.register_for_proxied_messages(device.proxy_address)
-
if self.enabled is not True:
self.log.info('reconciling-broadcom-onu-device')
@@ -278,7 +274,7 @@
# need to restart state machines on vcore restart. there is no indication to do it for us.
self._onu_omci_device.start()
device.reason = "restarting-openomci"
- self.adapter_agent.update_device(device)
+ yield self.core_proxy.update_device(device)
# TODO: this is probably a bit heavy handed
# Force a reboot for now. We need indications to reflow to reassign tconts and gems given vcore went away
@@ -311,19 +307,6 @@
if self._pon is not None:
self._pon.enabled = True
- # TODO: move to UniPort
- def update_logical_port(self, logical_device_id, port_id, state):
- try:
- self.log.info('updating-logical-port', logical_port_id=port_id,
- logical_device_id=logical_device_id, state=state)
- logical_port = self.adapter_agent.get_logical_port(logical_device_id,
- port_id)
- logical_port.ofp_port.state = state
- self.adapter_agent.update_logical_port(logical_device_id,
- logical_port)
- except Exception as e:
- self.log.exception("exception-updating-port", e=e)
-
def delete(self, device):
self.log.info('delete-onu', device=device)
if self.parent_adapter:
@@ -424,22 +407,24 @@
tp = ast.literal_eval(tp)
self.log.debug("tp-instance", tp=tp)
self._do_tech_profile_configuration(uni_id, tp)
-
+
+ @inlineCallbacks
def success(_results):
self.log.info("tech-profile-config-done-successfully")
- device = self.adapter_agent.get_device(self.device_id)
+ device = yield self.core_proxy.get_device(self.device_id)
device.reason = 'tech-profile-config-download-success'
- self.adapter_agent.update_device(device)
+ yield self.core_proxy.update_device(device)
if tp_path in self._tp_service_specific_task[uni_id]:
del self._tp_service_specific_task[uni_id][tp_path]
self._tech_profile_download_done[uni_id][tp_path] = True
+ @inlineCallbacks
def failure(_reason):
self.log.warn('tech-profile-config-failure-retrying',
_reason=_reason)
- device = self.adapter_agent.get_device(self.device_id)
+ device = yield self.core_proxy.get_device(self.device_id)
device.reason = 'tech-profile-config-download-failure-retrying'
- self.adapter_agent.update_device(device)
+ yield self.core_proxy.update_device(device)
if tp_path in self._tp_service_specific_task[uni_id]:
del self._tp_service_specific_task[uni_id][tp_path]
self._deferred = reactor.callLater(_STARTUP_RETRY_WAIT, self.load_and_configure_tech_profile,
@@ -720,15 +705,16 @@
onu_device.reason = "stopping-openomci"
onu_device.connect_status = ConnectStatus.UNREACHABLE
onu_device.oper_status = OperStatus.DISCOVERED
- self.adapter_agent.update_device(onu_device)
+ yield self.core_proxy.update_device(onu_device)
else:
self.log.debug('not-changing-openomci-statemachine')
# Not currently called by olt or anything else
+ @inlineCallbacks
def remove_interface(self, data):
self.log.debug('function-entry', data=data)
- onu_device = self.adapter_agent.get_device(self.device_id)
+ onu_device = yield self.core_proxy.get_device(self.device_id)
self.log.debug('stopping-openomci-statemachine')
reactor.callLater(0, self._onu_omci_device.stop)
@@ -741,22 +727,24 @@
self.disable_ports(onu_device)
onu_device.reason = "stopping-openomci"
- self.adapter_agent.update_device(onu_device)
+ yield self.core_proxy.update_device(onu_device)
# TODO: im sure there is more to do here
# Not currently called. Would be called presumably from the olt handler
+ @inlineCallbacks
def remove_gemport(self, data):
self.log.debug('remove-gemport', data=data)
- device = self.adapter_agent.get_device(self.device_id)
+ device = yield self.core_proxy.get_device(self.device_id)
if device.connect_status != ConnectStatus.REACHABLE:
self.log.error('device-unreachable')
return
# Not currently called. Would be called presumably from the olt handler
+ @inlineCallbacks
def remove_tcont(self, tcont_data, traffic_descriptor_data):
self.log.debug('remove-tcont', tcont_data=tcont_data, traffic_descriptor_data=traffic_descriptor_data)
- device = self.adapter_agent.get_device(self.device_id)
+ device = yield self.core_proxy.get_device(self.device_id)
if device.connect_status != ConnectStatus.REACHABLE:
self.log.error('device-unreachable')
return
@@ -769,6 +757,7 @@
# TODO: create objects and populate for later omci calls
+ @inlineCallbacks
def disable(self, device):
self.log.debug('function-entry', device=device)
try:
@@ -788,7 +777,7 @@
self.disable_ports(device)
device.oper_status = OperStatus.UNKNOWN
device.reason = "omci-admin-lock"
- self.adapter_agent.update_device(device)
+ yield self.core_proxy.update_device(device)
# lock all the unis
task = BrcmUniLockTask(self.omci_agent, self.device_id, lock=True)
@@ -797,6 +786,7 @@
except Exception as e:
log.exception('exception-in-onu-disable', exception=e)
+ @inlineCallbacks
def reenable(self, device):
self.log.debug('function-entry', device=device)
try:
@@ -805,26 +795,28 @@
self.log.debug('restarting-openomci-statemachine')
self._subscribe_to_events()
device.reason = "restarting-openomci"
- self.adapter_agent.update_device(device)
+ yield self.core_proxy.update_device(device)
reactor.callLater(1, self._onu_omci_device.start)
self._heartbeat.enabled = True
except Exception as e:
log.exception('exception-in-onu-reenable', exception=e)
+ @inlineCallbacks
def reboot(self):
self.log.info('reboot-device')
- device = self.adapter_agent.get_device(self.device_id)
+ device = yield self.core_proxy.get_device(self.device_id)
if device.connect_status != ConnectStatus.REACHABLE:
self.log.error("device-unreachable")
return
+ @inlineCallbacks
def success(_results):
self.log.info('reboot-success', _results=_results)
self.disable_ports(device)
device.connect_status = ConnectStatus.UNREACHABLE
device.oper_status = OperStatus.DISCOVERED
device.reason = "rebooting"
- self.adapter_agent.update_device(device)
+ yield self.core_proxy.update_device(device)
def failure(_reason):
self.log.info('reboot-failure', _reason=_reason)
@@ -832,38 +824,40 @@
self._deferred = self._onu_omci_device.reboot()
self._deferred.addCallbacks(success, failure)
+ @inlineCallbacks
def disable_ports(self, onu_device):
self.log.info('disable-ports', device_id=self.device_id,
onu_device=onu_device)
# Disable all ports on that device
- self.adapter_agent.disable_all_ports(self.device_id)
+ yield self.core_proxy.disable_all_ports(self.device_id)
- parent_device = self.adapter_agent.get_device(onu_device.parent_id)
+ parent_device = yield self.core_proxy.get_device(onu_device.parent_id)
assert parent_device
logical_device_id = parent_device.parent_id
assert logical_device_id
- ports = self.adapter_agent.get_ports(onu_device.id, Port.ETHERNET_UNI)
- for port in ports:
- port_id = 'uni-{}'.format(port.port_no)
- # TODO: move to UniPort
- self.update_logical_port(logical_device_id, port_id, OFPPS_LINK_DOWN)
+ ports = yield self.core_proxy.get_ports(onu_device.id, Port.ETHERNET_UNI)
+ #TODO this should all be handled by the core
+ #for port in ports:
+ # port_id = 'uni-{}'.format(port.port_no)
+ # self.update_logical_port(logical_device_id, port_id, OFPPS_LINK_DOWN)
+ @inlineCallbacks
def enable_ports(self, onu_device):
self.log.info('enable-ports', device_id=self.device_id, onu_device=onu_device)
# Disable all ports on that device
- self.adapter_agent.enable_all_ports(self.device_id)
+ self.core_proxy.enable_all_ports(self.device_id)
- parent_device = self.adapter_agent.get_device(onu_device.parent_id)
+ parent_device = yield self.core_proxy.get_device(onu_device.parent_id)
assert parent_device
logical_device_id = parent_device.parent_id
assert logical_device_id
- ports = self.adapter_agent.get_ports(onu_device.id, Port.ETHERNET_UNI)
- for port in ports:
- port_id = 'uni-{}'.format(port.port_no)
- # TODO: move to UniPort
- self.update_logical_port(logical_device_id, port_id, OFPPS_LIVE)
+ ports = yield self.core_proxy.get_ports(onu_device.id, Port.ETHERNET_UNI)
+ #TODO this should be handled by the core
+ #for port in ports:
+ # port_id = 'uni-{}'.format(port.port_no)
+ # self.update_logical_port(logical_device_id, port_id, OFPPS_LIVE)
# Called just before openomci state machine is started. These listen for events from selected state machines,
# most importantly, mib in sync. Which ultimately leads to downloading the mib