Description
After CONTROLLER-2010 is resolved, get-entities RPC returns the entity ownership information after the owner instance is killed, albeit with some delay. However, entity ownership itself is not updated.
For example, in the following test scenario:
1. Set up 3-node cluster
2. Install OpenFlow flow service (odl-openflowplugin-flow-services-rest)
3. Get the list of entities with get-entities RPC
4. Kill the owner: e.g. on the host of the owner, run kill -9 <CONTROLLER_PID>
5. Get the list of entities with get-entities RPC
3 & 5 return the same output:
{ "odl-entity-owners:output": { "entities": [ { "type": "org.opendaylight.mdsal.AsyncServiceCloseEntityType", "name": "ofp-topology-manager", "candidate-nodes": [ "member-1" ], "owner-node": "member-1" }, { "type": "org.opendaylight.mdsal.ServiceEntityType", "name": "ofp-topology-manager", "candidate-nodes": [ "member-1", "member-2", "member-3" ], "owner-node": "member-1" } ] } }
If the owner is stopped normally, instead of getting forcefully killed, the ownership is updated as expected:
{ "odl-entity-owners:output": { "entities": [ { "type": "org.opendaylight.mdsal.AsyncServiceCloseEntityType", "name": "ofp-topology-manager", "candidate-nodes": [ "member-2" ], "owner-node": "member-2" }, { "type": "org.opendaylight.mdsal.ServiceEntityType", "name": "ofp-topology-manager", "candidate-nodes": [ "member-2", "member-3" ], "owner-node": "member-2" } ] } }