[OPNFLWPLUG-419] When a device is configured to to connect to a controller before the controller is started, the device may not show up in inventory Created: 27/Apr/15  Updated: 27/Sep/21  Resolved: 10/Mar/16

Status: Resolved
Project: OpenFlowPlugin
Component/s: General
Affects Version/s: None
Fix Version/s: None

Type: Bug
Reporter: Moiz Raja Assignee: Kamal Rameshan
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


External issue ID: 3064
Priority: Normal

 Description   

This happens because the openflowplugin connects to the device and issues nodeUpdated notification before the InventoryManager is even started. Thus the inventory manager misses those notifications and does not add the node to inventory.

This has been observed with Helium code and may no longer happen with the rewrite in Lithium. We should however add a test where we have the device pointed to the controller before it is started to ensure that this does not happen anymore.



 Comments   
Comment by Kamal Rameshan [ 03/Jun/15 ]

This was happening in Helium as the clustered datastore was not the default.
When the clustered datastore was loaded, odl-mdsal-broker gets reloaded there by re-instantiating and rewiring the ofp and other managers.

In Li, CDS was made the default and hence the odl-mdsal-broker points to odl-mdsal-clustering. OFP and other managers have a dependency on odl-mdsal-broker and hence they are not re-instantiated and re-wired.

I tested installing odl-openflowplugin-all (He, and not odl-openflowplugin-all-li) and this issue was not seen.

I can write an integration test, but i am lowering the priority for this one.

Comment by Kamal Rameshan [ 04/Jun/15 ]

Had a discussion with Moiz. Seems the problem can arise in Li as well.

The inventory-manager gets loaded as part of Southbound but is not guaranteed to load after openflowplugin.

This seems to be a classic producer-consumer issue, where the consumer needs to be updated with the latest state if loaded later than the producer.

This is true for any client apps which might be dependent on inv notifications and might get loaded (or reloaded) later than OFP.

Moving this to Be.

Comment by Kamal Rameshan [ 10/Mar/16 ]

As part of the Li design, the inventory manager does not exist.

Generated at Wed Feb 07 20:32:25 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.