ConfD User Community

Similar XML request for GET causing different behavior when issued from MgSoft vs NSO

Greetings All,

Upon issuing a certain operational command on NSO CLI -->
admin@ncs# show devices device eci-25 live-status vehicle-sales Vehicles Vehicle car-detail retailers
% No entries found.
–>As mentioned above, No entires are found.

However, upon scouting the confd_netconf.trace logs, I see the following XML RPC message[Generated by NSO and issued to device] followed by the RPC Reply message -->

<rpc message-id="3" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
  <get>
    <filter>
      <vehicle-sales xmlns="urn:ietf:params:xml:ns:yang:eci-vehicle">
        <Vehicles>
          <Vehicle>
            <type xmlns:eci-car="urn:eci:params:xml:ns:yang:eci-car">eci-cars:car</type>
            <name>muscle_car</name>
            <car-detail xmlns="urn:eci:params:xml:ns:yang:eci-car">
              <retailers/>
            </car-detail>
          </Vehicle>
        </Vehicles>
      </vehicle-sales>
    </filter>
  </get>
</rpc>


<rpc-reply message-id="3" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
  <data>
    <vehicle-sales xmlns="urn:ietf:params:xml:ns:yang:eci-vehicle">
      <Vehicles>
        <Vehicle>
          <type xmlns:eci-car="urn:eci:params:xml:ns:yang:eci-car">eci-cars:car</type>
          <name>muscle_car</name>
        </Vehicle>
      </Vehicles>
    </vehicle-sales>
  </data>
</rpc-reply>

The RPC message which was issued above was exactly copied and issued on an MgSoft connected to the same device.
I receive exactly everything I had configured under the “retailers” container.
–> Hence “exact same” XML issued on MgSoft works but when sent out from NSO[ NSO generates it based on the CLI command I issue], the reply is incorrect.

For your reference, when the same XML request was issued on MgSoft, the below is the confd_netconf.trace log dump snippet -->

<filter>
  <vehicle-sales xmlns="urn:ietf:params:xml:ns:yang:eci-vehicle">
    <Vehicles>
      <Vehicle>
        <type xmlns:eci-car="urn:eci:params:xml:ns:yang:eci-car">eci-cars:car</type>
        <name>muscle_car</name>
        <car-detail xmlns="urn:eci:params:xml:ns:yang:eci-car">
          <retailers/>
        </car-detail>
      </Vehicle>
    </Vehicles>
  </vehicle-sales>
</filter>
  </get>
</rpc>

1-Mar-2021::18:42:39.193 **< sess:28 write:
 <rpc-reply message-id="3" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
          <data>
            <vehicle-sales xmlns="urn:ietf:params:xml:ns:yang:eci-vehicle">
              <Vehicles>
                <Vehicle>
                  <type xmlns:eci-car="urn:eci:params:xml:ns:yang:eci-car">eci-cars:car</type>
                  <name>muscle_car</name>
                  <car-detail xmlns="urn:eci:params:xml:ns:yang:eci-car">
                    <retailers>
                      <retailer>
                        <retailer-address>george_town</retailer-address>
                        <retailer-peer-group>G21</retailer-peer-group>
                      </retailer>
                    </retailers>
                  </car-detail>
                </Vehicle>
              </Vehicles>
            </vehicle-sales>
          </data>
        </rpc-reply>

Version of MgSoft --> 7.6 build 3370
Version of ConfD --> Confd 7.2.1
Version of NSO-platform-production --> 1.0
Version of NSO-network-element–>1.0

Please suggest, what could be the potential reason for this behavior.
**Yang Structure and other information will be provided on demand so as to keep query short.

Hi,

You are getting “config false” state data here, not configuration.
Can’t tell which part of the XML returned by ConfD is state data without the YANG model, but I would guess that the state data changed between the two RPC requests and/or configuration above the state data, was not committed to the running datastore yet when you asked NSO to retrieve the data.