Uploaded image for project: 'Configuration Persistence Service'
  1. Configuration Persistence Service
  2. CPS-1136

DMI Audit Support (get all CM Handles for a registered DMI)

XMLWordPrintable

    • Icon: Story Story
    • Resolution: Done
    • Icon: Medium Medium
    • Kohn Release
    • None
    • NCMP
    • None

      New GET interface on ncmpInventory (dmi-ncmp interface) required for cmhandle audit purposes as below : 

      REST Request Type : GET
      Rest URL :  /ncmpInventory/v1/ch/cmhandles?dmiPlugin=<dmi-cm-plugin-identifier> 

      Accept : application/json

      HTTP Response : (200 OK)

      Body :

      {
        "cmHandles": [
          {
             "cmHandle": "IDENTIFIER",
             "cmHandleProperties": {
                 "subSystem": "2",
                  "neType": "RadioNode",
                   ....
             }
          }
       ]
      }

       

      • Cps-path(s) for querying dmi-cm-plugin-identifier for:
        • dmi-service-name
          • /dmi-registry/cm-handles[@dmi-service-name='<dmi-cm-plugin-identifier>']
        • dmi-data-service-name
          • /dmi-registry/cm-handles[@dmi-data-service-name='<dmi-cm-plugin-identifier>']
        • dmi-model-service-name
          • /dmi-registry/cm-handles[@dmi-model-service-name ='<dmi-cm-plugin-identifier>']

       

      Question:

      • What's expected from the response body 
        • all cm handle details - agreed on this 
          • {
              "cmHandle": "myCmHandle",
              "publicCmHandleProperties": [
                {
                  "Size": "small",
                  "Color": "yellow",
                  "Shape": "cube"
                }
              ],
              "state": {
                "cmHandleState": "READY",
                "lastUpdateTime": "2022-08-12T12:10:54.925+0000",
                "dataSyncEnabled": false,
                "dataSyncState": {
                  "operational": {
                    "syncState": "NONE_REQUESTED"
                  }
                }
              }
            } 
            
            
        • only cm handle ID and publicCmHandleProperties?
          • { 
              "cmHandle": "myCmHandle", 
              "publicCmHandleProperties": [ 
                 { "Size": "small", 
                   "Color": "yellow", 
                   "Shape": "cube" 
                 } 
              ] 
            }
        • or dmi identifier query results with descendants ?
          • {
                "dmi-registry:cm-handles": {
                  "id": "myCmHandle",
                  "dmi-service-name": "http://172.26.123.157:8783",
                  "dmi-data-service-name": "",
                  "dmi-model-service-name": "",
                  "public-properties": [
                    {
                      "name": "Shape",
                      "value": "cube"
                    },
                    {
                      "name": "Color",
                      "value": "yellow"
                    },
                    {
                      "name": "Size",
                      "value": "small"
                    }
                  ],
                  "additional-properties": [
                    {
                      "name": "Books",
                      "value": "Sci-Fi Book"
                    }
                  ],
                  "state": {
                    "cm-handle-state": "READY",
                    "last-update-time": "2022-08-12T12:10:54.925+0000",
                    "data-sync-enabled": false,
                    "datastores": {
                      "operational": {
                        "sync-state": "NONE_REQUESTED"
                      }
                    }
                  }
                }
              } 

      A/C:

      • Demo E2E to team
        • Demo positive and negative scenarios
          • Error scenarios
            • not available (no match) dmi-cm-plugin-identifier
              • Return: 200 with empty [] – 'no cm handles'
            • query parameter is required
      • Performance test*
      • Implementation query done with CPS path and not postgres
      • Update documentation

       

      Update:

      • 17/08/2022
        • Need more information from Peter/Kieran about the response object, therefore, for implementation now - the response object shall only contain the CM handle IDs assuming that the endpoint will be rarely invoked and there are currently no performance requirements for it

       

            emaclee Lee Anjella Macabuhay
            ToineSiebelink Toine Siebelink
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: