Controller inventory service doesn't come up 01/801/1
authorGiovanni Meo <gmeo@cisco.com>
Tue, 6 Aug 2013 09:29:25 +0000 (11:29 +0200)
committerGiovanni Meo <gmeo@cisco.com>
Tue, 6 Aug 2013 09:29:25 +0000 (11:29 +0200)
commitb6d3e684e8ffc5125dc71a619ac41323924a32c5
tree31e6296c46dffe63abc77a7555ebd7020c7209a6
parent97d2f10bea5bdd773453bc7202b9dd04f4b70c3b
Controller inventory service doesn't come up
- After the commit e55cbeebfe5bae130becc3facd7c6235a56529ee the
InventoryShimService in OF protocol plugin was not coming up because
was waiting on a service that was provided by SAL InventoryService,
but this was waiting on a service provided by the protocol plugin (a
typical circular dependency condition). SAL implementations should
never wait on the protocol plugin, rather should track them
dynamically.
- In InventoryService in protocol plugin the list of
pluginOutInventoryServices was initialized during init, but init is
called after the necessary dependency have been met, that means that
the list may already have the proper listener sets, and those will not
be relearnt again. The proper initialization is the instance init, and
clearing when the protocol plugin is stopping.

Change-Id: I6ad24cb8e6e9fd5b4ae89a3b2557ec233b86ebed
Signed-off-by: Giovanni Meo <gmeo@cisco.com>
opendaylight/protocol_plugins/openflow/src/main/java/org/opendaylight/controller/protocol_plugin/openflow/internal/InventoryService.java
opendaylight/sal/implementation/src/main/java/org/opendaylight/controller/sal/implementation/internal/Activator.java