Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Introduce new attributes in the DMI Registry yang model as defined here.

The updated yang model with DataStoreSyncState is shown below,

Code Block
languagexml
titleProposed yang model
module dmi-registry {

  yang-version 1.1;

  namespace "org:onap:cps:ncmp";

  prefix dmi-reg;

  contact "toine.siebelink@est.tech";

  revision "2022-05-10" {
    description
    "Added DataSyncEnabled, SyncState with State, LastSyncTime, DataStoreSyncState with Operational and Running syncstate";
  }

  revision "2022-02-10" {
    description
    "Added State, LockReason, LockReasonDetails to aid with cmHandle sync and timestamp to aid with retry/timeout scenarios";
  }

  revision "2021-12-13" {
    description
    "Added new list of public additional properties for a Cm-Handle which are exposed to clients of the NCMP interface";
  }

  revision "2021-10-20" {
    description
    "Added dmi-data-service-name & dmi-model-service-name to allow separate DMI instances for each responsibility";
  }

  revision "2021-05-20" {
    description
    "Initial Version";
  }

  grouping LockReason {
    leaf reason {
      type string;
    }
    leaf details {
      type string;
    }
  }

  grouping SyncState {
   leaf syncStatesync-state {
     type string;
   }
   leaf last-sync-time {
     type string;
   }
  }

  grouping DataStoresDatastores {
    container operational {
      uses SyncState;
    }
    container running {
      uses SyncState;
    }
  }

  container dmi-registry {
    list cm-handles {
      key "id";
      leaf id {
        type string;
      }
      leaf dmi-service-name {
        type string;
      }
      leaf dmi-data-service-name {
        type string;
      }
      leaf dmi-model-service-name {
        type string;
      }

      list additional-properties {
        key "name";
        leaf name {
          type string;
        }
        leaf value {
          type string;
        }
      }

      list public-properties {
        key "name";
        leaf name {
          type string;
        }
        leaf value {
          type string;
        }
      }

      container state {
          leaf cmHandleStatecm-handle-state {
          type string;
        }

        container lock-reason {
          uses LockReason;
        }

        leaf last-update-time {
          type string;
        }

        leaf data-sync-enabled {
          type boolean;
          default "false";
        }

        container data-storesdatastores {
          uses DataStoresDatastores;
        }
      }
    }
  }
}



Code Block
languagexml
titleGenerated sample xml object
<?xml version='1.0' encoding='UTF-8'?>
<data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
  <state<dmi-registry xmlns="org:onap:cps:ncmp">
    <cm-handles>
      <id/>
      <dmi-service-name/>
      <dmi-data-service-name/>
      <dmi-model-service-name/>
      <additional-properties>
        <name/>
        <value/>
      </additional-properties>
      <public-properties>
        <name/>
        <value/>
      </public-properties>
      <cmHandleState<state>
        <cm-handle-state/>
        <lock-reason>
          <reason/>
          <details/>
        </lock-reason>
        <last-update-time/>
        <data-sync-enabled>false</data-sync-enabled>
        <datastores>
 <data-sync-state>         <operational>
            <syncState<sync-state/>
            <last-sync-time/>
          </operational>
          <running>
            <syncState<sync-state/>
            <last-sync-time/>
          </running>
        </data-sync-datastores>
      </state>
    </cm-handles>
  </state>dmi-registry>
</data>


Code Block
languagejs
titleGenerate sample json object
{
  "statedmi-registry": {
    "cm-handles": {
      "id": null,
      "dmi-service-name": null,
      "dmi-data-service-name": null,
      "dmi-model-service-name": null,
      "additional-properties": {
        "name": null,
        "value": null
      },
      "public-properties": {
        "name": null,
        "value": null
      },
      "cmHandleStatestate": {
        "cm-handle-state": null,
        "lock-reason": {
          "reason": null,
          "details": null
        },
        "last-update-time": null,
        "data-sync-enabled": "false",
      "data-sync-state  "datastores": {
          "operational": {
            "syncStatesync-state": null,
            "last-sync-time": null
          },
          "running": {
            "syncStatesync-state": null,
            "last-sync-time": null
          }
        }
      }
    }
  }
}