A set request results in error : no changes between

In some cases the provided information within a SET request are not considered as a difference, even though the information provided is indeed a change or new.

Description

When requesting to set the given IETF JSON provided below for the path interfaces/interface[name=Ethernet1] on an Arista cEOS results in an error: There are no changes between [...] and [...].

Comparing the two values from the change, in fact result in no difference to be detected. Even though the JSON is valid and should add a new IP address.


{
  "openconfig-interfaces:config": {
    "mtu": 0,
    "name": "Ethernet1",
    "type": "iana-if-type:ethernetCsmacd"
  },
  "openconfig-interfaces:name": "Ethernet1",
  "openconfig-interfaces:subinterfaces": {
    "subinterface": [
      {
        "index": 0,
        "openconfig-if-ip:ipv4": {
          "addresses": {
            "address": [
              {
                "config": {
                  "ip": "10.10.10.0",
                  "prefix-length": 31
                },
                "ip": "10.10.10.0"
              }
            ]
          },
          "config": {
            "enabled": true
          }
        }
      }
    ]
  }
}

Expected Behavior

The information from the JSON should add a new IP address for the interface Ethernet1 and should therefore be traceable within a change. And it should then be possible to push them to the given network element.

Actual Behavior

No changes are detected and nothing is pushed to the device.

Possible Fix

Steps to Reproduce

Context

Your Environment

  • Version used:
  • Environment name and version (e.g. go v1.16.3 on FreeBSD 13.0-current):
  • Server type and version:
  • Operating System and version: