Mishandling of NBI insert/move on system-ordered lists/leaf-lists


Here`s an issue I encountered, about the “system ordered” list or leaf-list, happened when I try to do “insert"or"move” opreation on them, via the northbound interface.

The problems are:

  • has no auto completion for insert or move
  • CLI shows “Commit complete.” but target data is not changed and actually the change was made to another data node!
  • Notification reflects the “fake change” (as if the commit succeed, which is not)

for example,
The yang model file:

container test-container {
    leaf-list "i8ll" {
        type int8;
	leaf-list "i8lluser" {
        ordered-by user;
        type int8;

The CLI shows:

user1@CMYP-test(config)#test-container i8ll 10
Commit complete.
user1@CMYP-test(config)#insert test-container i8ll 11
Commit complete.
user1@CMYP-test(config)#show full-configuration test-container
test-container i8ll [ 10 ]
test-container i8lluser [ 11 ]


<?xml version="1.0" encoding="UTF-8"?>
<notification xmlns="urn:ietf:params:xml:ns:netconf:notification:1.0">
  <push-change-update xmlns="urn:rdns:com:notifications">
      <target xmlns:ecomplete="urn:rdns:com:complete">/ecomplete:test-container/ecomplete:i8lluser[.="11"]</target>

Change was made to i8lluser rather than i8ll

Tanks very much!
Best regards

If there is a problem here, it is that ConfD is trying to be a bit too clever. Note that commands like insert or move can be applied only on “ordered-by user” lists, which i8ll is not; so when you write

insert test-container i8ll 11

it would be an invalid command. But ConfD is “able” to complete the path so that it is a valid command, to

insert test-container i8lluser 11

I’m not sure if this kind of automatic completion can be turned off, but perhaps you may want to rename or add tailf:alt-name to one of the two leaf-lists, the common prefix might be inconvenient for CLI users anyway.