CPS-1014 Yang module update with DataStoreSyncState
CPS-1014: Update the Registry Yang module with DataStoreSyncStateClosed
Introduce new attributes in the DMI Registry yang model as defined here.
The updated yang model with DataStoreSyncState is shown below,
Proposed 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 sync-state {
type string;
}
leaf last-sync-time {
type string;
}
}
grouping Datastores {
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 cm-handle-state {
type string;
}
container lock-reason {
uses LockReason;
}
leaf last-update-time {
type string;
}
leaf data-sync-enabled {
type boolean;
default "false";
}
container datastores {
uses Datastores;
}
}
}
}
}
Generated sample xml object
<?xml version='1.0' encoding='UTF-8'?>
<data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<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>
<state>
<cm-handle-state/>
<lock-reason>
<reason/>
<details/>
</lock-reason>
<last-update-time/>
<data-sync-enabled>false</data-sync-enabled>
<datastores>
<operational>
<sync-state/>
<last-sync-time/>
</operational>
<running>
<sync-state/>
<last-sync-time/>
</running>
</datastores>
</state>
</cm-handles>
</dmi-registry>
</data>
Generate sample json object
{
"dmi-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
},
"state": {
"cm-handle-state": null,
"lock-reason": {
"reason": null,
"details": null
},
"last-update-time": null,
"data-sync-enabled": "false",
"datastores": {
"operational": {
"sync-state": null,
"last-sync-time": null
},
"running": {
"sync-state": null,
"last-sync-time": null
}
}
}
}
}
}