Opendaylight OpenTools对键控列表的XML编码顺序错误

Opendaylight OpenTools对键控列表的XML编码顺序错误,opendaylight,netconf,Opendaylight,Netconf,当yang模型有一个包含多个键的列表时,ODL在向netconf设备发送请求时不维护属性的顺序。从RFC 6020看来,需要严格遵守订单 “列表的关键节点被编码为列表关键节点的子元素 标识符元素,其顺序与在 “关键”语句。“ 主要是我的供应商设备在创建无序列表时不会抱怨,但在删除过程中会抱怨错误 杨模型示例: container acl-config { list acl-config-list { key "tenant-id access-control-list-id";

当yang模型有一个包含多个键的列表时,ODL在向netconf设备发送请求时不维护属性的顺序。从RFC 6020看来,需要严格遵守订单

“列表的关键节点被编码为列表关键节点的子元素 标识符元素,其顺序与在 “关键”语句。“

主要是我的供应商设备在创建无序列表时不会抱怨,但在删除过程中会抱怨错误

杨模型示例:

container acl-config {
    list acl-config-list {
    key "tenant-id access-control-list-id";
    leaf tenant-id {
        type leafref {
        path "/tenant:tenant-config/tenant:tenant-list/tenant:tenant-id";
        }
    description
        "Unique identifier of the Tenant";
    }

    leaf access-control-list-id {
        type custom-id;
        mandatory true;
        description
            "Unique ACL identifier";
    }
}
ODL在删除操作期间编码时发送请求,如下所示:

<edit-config>
<target>
<running/>
</target>
<default-operation>none</default-operation>
<error-option>rollback-on-error</error-option>
<config>
<acl-config xmlns="http://example.com/acl">
<acl-config-list>
<access-control-list-id>acl7</access-control-list-id>
<tenant-id>f81d4fae-7dec-11d0-a765-00a0c91e6bf6</tenant-id>
<acl-dst-config xmlns:a="urn:ietf:params:xml:ns:netconf:base:1.0" 
a:operation="delete"/>
</acl-config-list>
</acl-config>
</config>
</edit-config>
</rpc>

没有一个
错误回滚
acl7
f81d4fae-7dec-11d0-a765-00a0c91e6bf6
我希望首先对租户id进行编码,而不是按照yang中定义的密钥顺序对访问控制列表id进行编码。删除操作期间设备抛出错误

<rpc-error>
<error-type>protocol</error-type>
<error-tag>missing-element</error-tag>
<error-severity>error</error-severity>
<error-message xml:lang="en">Invalid position of the key "tenant-id" in a 
list "acl-config-list".</error-message>
<error-info>
<bad-element>/access_control_list:acl-config/acl-config-list[access- 
control-list-id='acl7']/tenant-id</bad-element>
</error-info>
</rpc-error>

协议
缺失元素
错误
密钥“租户id”在中的位置无效
列表“acl配置列表”。
/访问控制列表:acl配置/acl配置列表[访问-
控制列表id='acl7']/租户id

我希望ODL在XML编码期间按照RFC6020语句严格遵循关键节点的顺序。这种情况不会发生,设备纯粹基于故障问题拒绝请求。这是ODL XML编码问题中的一个错误,还是设备真的应该以任何顺序处理请求?

看起来这个问题已经得到了回答

准确地说,jira ticket是用来跟踪这个问题的。