VOL-1474: Support for GetChildDevice and proper PeerPort
Correct peerport relationship needed for get child devices
to work. Also set root device properly
Change-Id: I8320e809cfd54206ef69ba3a75c42875a6539008
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 817a138..c9eefaf 100644
--- a/python/adapters/brcm_openomci_onu/brcm_openomci_onu_handler.py
+++ b/python/adapters/brcm_openomci_onu/brcm_openomci_onu_handler.py
@@ -172,23 +172,18 @@
def activate(self, device):
self.log.debug('function-entry', device=device)
- # first we verify that we got parent reference and proxy info
assert device.parent_id
+ assert device.parent_port_no
assert device.proxy_address.device_id
- # register for proxied messages right away
self.proxy_address = device.proxy_address
self.parent_id = device.parent_id
- # TODO NEW CORE: seems no reason for this now
- #parent_device = yield self.adapter_agent.get_device(self.parent_id)
- #if parent_device.type == 'openolt':
- # self.parent_adapter = registry('adapter_loader'). \
- # get_agent(parent_device.adapter).adapter
+ 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
- device.root = True
+ device.root = False
device.vendor = 'Broadcom'
device.connect_status = ConnectStatus.REACHABLE
device.oper_status = OperStatus.DISCOVERED
@@ -283,15 +278,12 @@
self.log.debug('function-entry', device=device)
self._pon = PonPort.create(self, self._pon_port_number)
+ self._pon.add_peer(self.parent_id, self._pon_port_number)
+ self.log.debug('adding-pon-port-to-agent', pon=self._pon.get_port())
+
yield self.adapter_agent.port_created(device.id, self._pon.get_port())
- self.log.debug('added-pon-port-to-agent', pon=self._pon)
-
- # TODO NEW CORE: Need to either get logical device id from core or use regular device id
- #parent_device = yield self.adapter_agent.get_device(device.parent_id)
- #self.logical_device_id = parent_device.parent_id
-
- #self.adapter_agent.update_device(device)
+ self.log.debug('added-pon-port-to-agent', pon=self._pon.get_port())
# Create and start the OpenOMCI ONU Device Entry for this ONU
self._onu_omci_device = self.omci_agent.add_device(self.device_id,