Versions Compared

Key

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

...


Task
1Create updated DMI Registry Yang Schema (using @yyyy-mm-dd) in changelog/db/changes/data/yang-models/dmi-registry @ 2021-12-13.yang to store Handle State
2

Add StateLockReason and LockReasonDetails as (Yang)Strings to the schema. Any validation or enum-limitations can be handled in the Java code.

3

Consider timestamp syncStartTime for last-update-time for retry and timeout related scenarios as part of same schema update to reduce overhead of Liquibase changesets 

4

Test/demo using CPS-Core 

  1. Can create anchor with new schema
  2. Can add and create data 

...

Code Block
languageyml
titledmi-registry@2022-02-10.yang
collapsetrue
module dmi-registry {

  yang-version 1.1;

  namespace "org:onap:cps:ncmp";

  prefix dmi-reg;

  contact "dylan.byrne@est.tech";

  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";
  }

  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;
        }
      }

      leaf state {
        type string;
      }
      leaf lock-reason {
        type string;
      }
      leaf lock-reason-details {
        type string;
      }
      leaf synclast-startupdate-time {
        type string;
      }
    }
  }
}


Timestamp

modelSyncStartTime last-update-time will be recorded once model/data sync attempt is started and will be removed once model sync is completed. CmHandle state should be changed from advised to locked during sync. Extending the query from ncmp to look for cmHandle state and modelSyncStartTime would remove need for watchdog.

...