Update DMI Registry yang to support DataStoreSyncState

- Added dmi-registry@2022-05-10 yang to support DataStoreSyncState
- Added changelog 14 to add the dmi-registry

Issue-ID: CPS-1014
Change-Id: I910d2496a359fdf2441e172ca270036272d31dc6
Signed-off-by: Lathish <lathishbabu.ganesan@est.tech>
diff --git a/cps-parent/pom.xml b/cps-parent/pom.xml
index b76c63c..1d6f58f 100755
--- a/cps-parent/pom.xml
+++ b/cps-parent/pom.xml
@@ -422,6 +422,7 @@
                         <argument>yangResourceCsvGenerator.py</argument>
                         <argument>dmi-registry@2021-12-13</argument>
                         <argument>dmi-registry@2022-02-10</argument>
+                        <argument>dmi-registry@2022-05-10</argument>
                     </arguments>
                 </configuration>
             </plugin>
diff --git a/cps-ri/src/main/resources/changelog/changelog-master.yaml b/cps-ri/src/main/resources/changelog/changelog-master.yaml
index 251cec6..aa1b49d 100644
--- a/cps-ri/src/main/resources/changelog/changelog-master.yaml
+++ b/cps-ri/src/main/resources/changelog/changelog-master.yaml
@@ -42,3 +42,5 @@
       file: changelog/db/changes/12-delete-all-previous-dmi-registry-schema-set.yaml
   - include:
       file: changelog/db/changes/13-insert-dmi-registry-2022-02-10-schema-set.yaml
+  - include:
+      file: changelog/db/changes/14-loadData-dmi-registry-2022-05-10-schema-set.yaml
diff --git a/cps-ri/src/main/resources/changelog/db/changes/14-loadData-dmi-registry-2022-05-10-schema-set.yaml b/cps-ri/src/main/resources/changelog/db/changes/14-loadData-dmi-registry-2022-05-10-schema-set.yaml
new file mode 100644
index 0000000..da39d22
--- /dev/null
+++ b/cps-ri/src/main/resources/changelog/db/changes/14-loadData-dmi-registry-2022-05-10-schema-set.yaml
@@ -0,0 +1,113 @@
+# ============LICENSE_START=======================================================
+# Copyright (C) 2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+
+databaseChangeLog:
+  - changeSet:
+      author: cps
+      label: dmi-registry-schema-delete
+      id: 14
+      sql: DELETE FROM schema_set_yang_resources
+        where schema_set_id = (select id from schema_set where name = 'ncmp-dmi-registry-model')
+        and yang_resource_id = (select id from yang_resource where name = 'dmi-registry@2022-02-10.yang')
+      rollback:
+        sql: INSERT INTO schema_set_yang_resources (schema_set_id, yang_resource_id)
+          VALUES ((select id from schema_set where name = 'ncmp-dmi-registry-model'), (select id from yang_resource where name = 'dmi-registry@2022-02-10.yang'));
+
+  - changeSet:
+      author: cps
+      label: dmi-registry-schema-delete
+      id: 14.1
+      sql: DELETE FROM yang_resource where name = 'dmi-registry@2022-02-10.yang'
+      rollback:
+        loadUpdateData:
+          encoding: UTF-8
+          file: 'changelog/db/changes/data/dmi//generated-csv/generated_yang_resource_dmi-registry@2022-02-10.csv'
+          onlyUpdate: 'false'
+          primaryKey: 'id'
+          quotchar: '"'
+          separator: '|'
+          tableName: 'yang_resource'
+          columns:
+            - column:
+                header: name
+                name: name
+                type: STRING
+            - column:
+                header: content
+                name: content
+                type: STRING
+            - column:
+                header: checksum
+                name: checksum
+                type: STRING
+            - column:
+                header: module_name
+                name: module_name
+                type: STRING
+            - column:
+                header: revision
+                name: revision
+                type: STRING
+
+  - changeSet:
+      author: cps
+      label: dmi-registry-schema-load-revision-2022-05-10
+      id: 14.2
+      loadUpdateData:
+        encoding: UTF-8
+        file: 'changelog/db/changes/data/dmi/generated-csv/generated_yang_resource_dmi-registry@2022-05-10.csv'
+        onlyUpdate: 'false'
+        primaryKey: 'id'
+        quotchar: '"'
+        separator: '|'
+        tableName: 'yang_resource'
+        columns:
+          - column:
+              header: name
+              name: name
+              type: STRING
+          - column:
+              header: content
+              name: content
+              type: STRING
+          - column:
+              header: checksum
+              name: checksum
+              type: STRING
+          - column:
+              header: module_name
+              name: module_name
+              type: STRING
+          - column:
+              header: revision
+              name: revision
+              type: STRING
+      rollback:
+        - sql:
+            sql: DELETE FROM yang_resource where name = 'dmi-registry@2022-05-10.yang'
+
+  - changeSet:
+      author: cps
+      label: dmi-registry-schema-load-revision-2022-05-10
+      id: 14.3
+      sql: INSERT INTO schema_set_yang_resources (schema_set_id, yang_resource_id)
+        VALUES ((select id from schema_set where name = 'ncmp-dmi-registry-model'), (select id from yang_resource where name = 'dmi-registry@2022-05-10.yang'));
+      rollback:
+        sql: DELETE FROM schema_set_yang_resources
+          where schema_set_id = (select id from schema_set where name = 'ncmp-dmi-registry-model')
+          and yang_resource_id = (select id from yang_resource where name = 'dmi-registry@2022-05-10.yang')
\ No newline at end of file
diff --git a/cps-ri/src/main/resources/changelog/db/changes/data/yang-models/dmi-registry@2022-05-10.yang b/cps-ri/src/main/resources/changelog/db/changes/data/yang-models/dmi-registry@2022-05-10.yang
new file mode 100644
index 0000000..7751796
--- /dev/null
+++ b/cps-ri/src/main/resources/changelog/db/changes/data/yang-models/dmi-registry@2022-05-10.yang
@@ -0,0 +1,123 @@
+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;
+        }
+      }
+    }
+  }
+}
\ No newline at end of file