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

Details

    • Story
    • Status: Closed
    • Medium
    • Resolution: Done
    • None
    • Kohn Release
    • NCMP
    • None

    Description

      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

       

      Attachments

        Issue Links

          # Subject Branch Project Status CR V

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: