Versions Compared

Key

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

References

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

...

#IssueNotesDecision
1



Analysis

The dmi-plugin introduce in Istanbul release has the ability to add a databag of properties (cmHandleProperties) on creation of a cmhandle.
These properties are only shared between NCMP and the dmi-plugin.  In addition, they are only understood by the dmi-plugin and are never used by NCMP.
Once the cmhandle is created in NCMP with the properties attached, then any subsequent requests sent to dmi-plugin for a cmhandle will include these additional properties.

 
In Istanbul release NCMP does not expose these cmhandle properties except on the ncmp < - >dmi-plugin interface.  
It should be possible for dmi-plugin to register properties that it wishes to be exposed to application clients of the NCMP interface.

The proposed interface changes required on the dmi-plugin interface are listed in the table in Interface Proposals below.

Interface Proposal

Requirement URI
Comment

NCMP-008

Register or update public cmhandle properties


{ncmpRoot}/ncmp/v1/ch/
Scenario : DMI notifies NCMP of new, updated or removed cmhandles
Method : POST
URI : {ncmpRoot}/ncmp/v1/ch/
Header :
Content-Type: application/json


Request Body

Request Body : {
      "dmiPlugin" : "onap.dmi.plugin",
      "createdCmHandles" : [ {   "cmHandle" : "rf4er5454",
                                 "cmHandleProperties" : {
                                    "samplePropertyName1" : "samplePropertyValue1"
                                  }        

                                                                         "publicCmHandleProperties" :  {     
                                                                                "hostedBy" : "cmhandle-5678"                                                                                       
                                                                                 "samplePropertyName2" : "samplePropertyValue2

                                  }

                             },
                             {..}
                           ],

      "updatedCmHandles" : [
                             {

                                 "cmHandle" : "ds4errr77",
                                 "cmHandleProperties" : { # To remove a property, set the value to "NULL"
                                    "samplePropertyName1" : "updatedSamplePropertyValue1",
                                    "samplePropertyName2" : "NULL"  # This property will be removed
                                  }        

                                                                         "publicCmHandleProperties" :  {      # To remove a property, set the value to "NULL"
                                                                               "hostedBy" : "cmhandle-11213",
                                                                                "samplePublicPropertyName1" : "updatedSamplePublicPropertyValue2"

                                  }


                             },
                             {..}

                           ],
      "removedCmHandles" : [ "node-1", "node-2" , ... ]
  }


json attributes:

  • "dmiPlugin" resolvable servicename
  • "createdCmHandles" used for initial cm handle registrations or subsequent
    cmhandle creations
  • "updatedCmHandles"
    Used for updates to cmhandles. Same structure as for create handles
  • "removedCmHandles"  array of cmhandles that have been deleted
    from the network (no additional properties
  1. Is the URI being updated to {ncmpRoot}/ncmpDmi/v2/ch ?
  2. Update to an existing interface
  3. New proposed additions in red
  4. To remove a property, suggest to set the value for the property to "NULL" in the updatedCmHandles section
  5. Note, the given properties like hostedBy are sample data only.