Uploaded image for project: 'netconf'
  1. netconf
  2. NETCONF-660

RFC 8040 query fails to return field if subfields specified for another element

XMLWordPrintable

    • Icon: Improvement Improvement
    • Resolution: Done
    • Icon: Medium Medium
    • 3.0.6, 4.0.1
    • None
    • restconf-nb
    • None

      Title: odl-restconf-nb-rfc8040 fails to return field if subfields specified for another element

       

      The RFC8040 implementation returns an incomplete result if, at the same level, you request subfields from a container.

      If we query for the manufactured-thing and structure, we get the following result:

      Operation: GET
      URL: http://\{{lmsdner}}:8181/rests/data/network-topology:network-topology/topology=topology-netconf/node=siae_alcplus2e_12969/yang-ext:mount/core-model-1-4:control-construct/equipment=RADIO-2A?content=config&fields=uuid;actual-equipment(manufactured-thing;structure)
      
      RESULT:
      
      {
          "core-model-1-4:equipment": [
              {
                  "uuid": "RADIO-2A",
                  "actual-equipment": {
                      "manufactured-thing": {
                          "operator-augmented-equipment-instance": {
                              "asset-instance-identifier": ""
                          },
                          "equipment-type": {
                              "version": "001",
                              "description": "RADIO connected to RADIO-2A",
                              "model-identifier": "ODU MW interface",
                              "part-type-identifier": "GE8705-52",
                              "type-name": "RADIO"
                          },
                          "operator-augmented-equipment-type": {
                              "asset-type-identifier": ""
                          },
                          "equipment-instance": {
                              "serial-number": "101821829000120",
                              "manufacture-date": "1970-01-01T00:00:00.0+00:00",
                              "asset-instance-identifier": ""
                          },
                          "manufacturer-properties": {
                              "manufacturer-name": "SIAE Microelettronica SpA",
                              "manufacturer-identifier": ""
                          }
                      },
                      "structure": {
                          "category": "core-model-1-4:EQUIPMENT_CATEGORY_STAND_ALONE_UNIT"
                      }
                  }
              }
          ]
      }
      

      However, if we try to filter the content of manufactured-thing to get just the equipment-type, the structure container is no longer returned:

      URL:
      http://\{{lmsdner}}:8181/rests/data/network-topology:network-topology/topology=topology-netconf/node=siae_alcplus2e_12969/yang-ext:mount/core-model-1-4:control-construct/equipment=RADIO-2A?content=config&fields=uuid;actual-equipment(manufactured-thing(equipment-type);structure)
      
      {
          "core-model-1-4:equipment": [
              {
                  "uuid": "RADIO-2A",
                  "actual-equipment": {
                      "manufactured-thing": {
                          "equipment-type": {
                              "version": "001",
                              "description": "RADIO connected to RADIO-2A",
                              "model-identifier": "ODU MW interface",
                              "part-type-identifier": "GE8705-52",
                              "type-name": "RADIO"
                          }
                      }
                  }
              }
          ]
      }
      

            ppuskar Peter Puškár
            allanclarke Allan Clarke
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved: