[CONTROLLER-2009] Get Entity RPC does not support OVSDB entity type Created: 01/Nov/21  Updated: 04/Nov/21  Resolved: 04/Nov/21

Status: Resolved
Project: controller
Component/s: eos
Affects Version/s: 4.0.0, 4.0.5
Fix Version/s: 4.0.6

Type: Bug Priority: High
Reporter: Sangwook Ha Assignee: Tomas Cere
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

get-entities RPC call

POST /rests/operations/odl-entity-owners:get-entities

returns OVSDB entities: for example,

{
    "odl-entity-owners:output": {
        "entities": [
            {
                "type": "ovsdb",
                "name": "ovsdb://uuid/268042b6-cfa8-41a6-aaaa-c63765bf36a3",
                "candidate-nodes": [
                    "member-1"
                ],
                "owner-node": "member-1"
            },
            {
                "type": "ovsdb-southbound-provider",
                "name": "ovsdb-southbound-provider",
                "candidate-nodes": [
                    "member-1"
                ],
                "owner-node": "member-1"
            }
        ]
    }
}

However, get-entity RPC for a specific entity returns an empty list.

For example, the following get-entity RPC for the entity listed above:

POST /rests/operations/odl-entity-owners:get-entity HTTP/1.1

{
    "odl-entity-owners:input" : {
        "type": "ovsdb",
        "name": "ovsdb://uuid/268042b6-cfa8-41a6-aaaa-c63765bf36a3"
    }
}

returns this:

{
    "odl-entity-owners:output": {}
}

OVSDB registers with the entity ownership service using an InstanceIdentifier generated from OVSDB topology & URI.



 Comments   
Comment by Sangwook Ha [ 01/Nov/21 ]

Because of this issue, entity ownership status checking is failing for Phosphorus:

https://s3-logs.opendaylight.org/logs/releng/vex-yul-odl-jenkins-1/ovsdb-csit-3node-upstream-clustering-only-phosphorus/206/robot-plugin/log.html.gz

Comment by Tomas Cere [ 02/Nov/21 ]

Looks like the entity-owners rpcs cannot handle when an entity is based on an YIID instead of a name and therefore all requests are mapped to the default entity.
The root cause here is that entity-name is only based on string.

Generated at Wed Feb 07 19:56:58 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.