Versions Compared

Key

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

...

Jira Legacy
serverSystem Jira
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176
keyCPS-858

Open Issues & Decisions

  1. should dataspaceName be given another name?
  2. should schema urn be generalized, how might it impact publication to ORAN R1?
  3. should "ncmp" be used rather than "cps" in the type definitions, i.e. org.onap.cps.cmhandle-lcm-event or org.onap.ncmp.cmhandle-lcm-event?
  4. should a bulk cmhandle event be supported?

Proposal Details

Scope covers the Create, Update and Delete of CM Handles.

Update is required as an application must know when we go from ADVISED to READY state.

Proposal is via the main scenarios.... the schema can reflect this.



cmhandle Event TypeDetailEvent
CREATEAdd New CM Handle.
CM Handle added to NCMP in ADVISED state with publicCmhandleProperties
{
  "schema": "urn:cps:org.onap.ncmp:cmhandle-lcm-event-schema:v2",
  "id": "77b8f114-4562-4069-8234-6d059ff742ac",
  "source": "urn:cps:org.onap.ncmp",
  "type": "org.onap.cps.cmhandle-lcm-event",
  "content": {
    "observedTimestamp": "2020-12-01T00:00:00.000+0000",
    "dataspaceName": "my-dataspace",
    "schemaSet": "",
    "cmhandleId": 43t345tbnfd85435
    "operation" : "CREATE",
    "data": {
      "publicCmhandleProperties": [
           "property-name-1": "property-value-1",
      ]
      "state" : "ADVISED"
    }
  }
}
UPDATE

Update cmhandle.
cmhandle goes from ADVISED to READY once the schemas are
discovered/added for the cmhandle

schemaSet is also sent in the event as it has been updated along
with the state transition

{
  "schema": "urn:cps:org.onap.ncmp:cmhandle-lcm-event-schema:v2",
  "id": "77b8f114-4562-4069-8234-6d059ff742ac",
  "source": "urn:cps:org.onap.ncmp",
  "type": "org.onap.cps.cmhandle-lcm-event",
  "content": {
    "observedTimestamp": "2020-12-01T00:00:00.000+0000",
    "dataspaceName": "my-dataspace",
    "cmhandleId": 43t345tbnfd85435
    "operation" : "UPDATE",
    "data": {
      "oldValues" : {
         "state" : {
           "cmhandleState" : "ADVISED"
         },
       "schemaSet": []
      },
      "newValues" : {
         "state" : {
          "cmhandleState" : "READY"
         },
         "schemaSet": ["schema-name-1", "schema-name-2", "schema-name-3", "schema-name-4", "schema-name-5"]
      }
    }
  }
}
UPDATE

Update cmhandle

Multiple updates to a cmhandle
Update a state and publicCmhandleProperty attributes

{
  "schema": "urn:cps:org.onap.ncmp:cmhandle-lcm-event-schema:v2",
  "id": "77b8f114-4562-4069-8234-6d059ff742ac",
  "source": "urn:cps:org.onap.ncmp",
  "type": "org.onap.cps.cmhandle-lcm-event",
  "content": {
    "observedTimestamp": "2020-12-01T00:00:00.000+0000",
    "dataspaceName": "my-dataspace",
    "cmhandleId": 43t345tbnfd85435
    "operation" : "UPDATE",
    "data": {
      "oldValues" : {
         "state" : {
           "cmhandleState" : "ADVISED"
         }
         "publicCmhandleProperties" : [
             "property-name-1" : null   #  indicates the property has been deleted/removed from the cmhandle
             "property-name-2" : "some-prop-value-2-a"  # indicates the property has been modified.
         ]
      },
      "newValues" : {
         "state" : {
           "cmhandleState" : "READY"
         }
         "publicCmhandleProperties" : [
             "property-name-1" : null   #  indicates the property has been deleted/removed from the cmhandle
             "property-name-2" : "some-prop-value-2-b"  # indicates the property has been modified.
             "property-name-3" : "some-prop-value-3"  # This is a new cmhandle property added.
         ]
      }
    }
  }
}
UPDATE

Update cmhandle

SchemaSet change.  
Triggered by an upgrade of a network element for example

{
  "schema": "urn:cps:org.onap.ncmp:cmhandle-lcm-event-schema:v2",
  "id": "77b8f114-4562-4069-8234-6d059ff742ac",
  "source": "urn:cps:org.onap.ncmp",
  "type": "org.onap.cps.cmhandle-lcm-event",
  "content": {
    "observedTimestamp": "2020-12-01T00:00:00.000+0000",
    "dataspaceName": "my-dataspace",
    "cmhandleId": 43t345tbnfd85435
    "operation" : "UPDATE",
    "data": {
      "oldValues" : {
         "schemaSet": ["schema-name-1", "schema-name-2", "schema-name-3", "schema-name-4", "schema-name-5.1"]
      },
      "newValues" : {
         "schemaSet": ["schema-name-1", "schema-name-2", "schema-name-3", "schema-name-4", "schema-name-5.2", "schema-name-6"]
      }
    }
  }
}
DELETEDelete cmhandle{
  "schema": "urn:cps:org.onap.ncmp:cmhandle-lcm-event-schema:v2",
  "id": "77b8f114-4562-4069-8234-6d059ff742ac",
  "source": "urn:cps:org.onap.ncmp",
  "type": "org.onap.cps.cmhandle-lcm-event",
  "content": {
    "observedTimestamp": "2020-12-01T00:00:00.000+0000",
    "dataspaceName": "my-dataspace",
    "cmhandleId": 43t345tbnfd85435
    "operation" : "DELETE",
}
Bulk cmhandle event

A bulk set of cmhandle events are sent.

Review if this is necessary.  dmi-plugin may send a bulk create/update to NCMP.  
Can NCMP send a bulk update to clients?  Is this of value?

{
  "schema": "urn:cps:org.onap.ncmp:bulk-cmhandle-lcm-event-schema:v2",
  "id": "77b8f114-4562-4069-8234-6d059ff742ac",
  "source": "urn:cps:org.onap.ncmp",
  "type": "org.onap.cps.cmhandle-lcm-event",
  "content": {
    "observedTimestamp": "2020-12-01T00:00:00.000+0000",
    "events": [

{
  "schema": "urn:cps:org.onap.ncmp:cmhandle-lcm-event-schema:v2",
  "id": "77b8f114-4562-4069-8234-6d059ff742ac",
  "source": "urn:cps:org.onap.ncmp",
  "type": "org.onap.cps.cmhandle-lcm-event",
  "content": {
    "observedTimestamp": "2020-12-01T00:00:00.000+0000",
    "dataspaceName": "my-dataspace",
    "cmhandleId": 43t345tbnfd85435
    "operation" : "DELETE",
},

{
  "schema": "urn:cps:org.onap.ncmp:cmhandle-lcm-event-schema:v2",
  "id": "77b8f114-4562-4069-8234-6d059ff742ac",
  "source": "urn:cps:org.onap.ncmp",
  "type": "org.onap.cps.cmhandle-lcm-event",
  "content": {
    "observedTimestamp": "2020-12-01T00:00:00.000+0000",
    "dataspaceName": "my-dataspace",
    "cmhandleId": 43t345tbnfd85435
    "operation" : "UPDATE",
    "data": {
      "oldValues" : {
         "schemaSet": ["schema-name-1", "schema-name-2", "schema-name-3", "schema-name-4", "schema-name-5.1"]
      },
      "newValues" : {
         "schemaSet": ["schema-name-1", "schema-name-2", "schema-name-3", "schema-name-4", "schema-name-5.2", "schema-name-6"]
      }
    }
  }
}

     ]
  }
}