Issues & Decisions
# | Issue | Notes | Decision |
---|---|---|---|
1 | Separating of Interfaces | Tony recommended NOT to split the interfaces.
| Check with stakeholders (Peter and Kieran) |
Currently it is only possible to register a single dmi-plugin service name with NCMP.
It is desirable to be able to provide the ability to register separate dmi-plugin services for data and models dmi-plugin services.
NCMP will then direct the cm data requests to the data dmi-plugin service while model related requests will be directed to the model dmi-plugin service.
These changes must be backward compatible with the existing Istanbul release where the dmi-plugin is a single service managing both model and data requests.
To realize this request the cmhandle registration (as well as update and delete when implemented in Jakarta) interfaces need updates to support a dmiDataPlugin and a dmiModelPlugin definition.
At least one of either (dmiPlugin) or (dmiDataPlugin + dmiModelPlugin) must be defined in the interface. Otherwise a "Bad Request" error will be returned to calling dmi-plugin.
Interface Sketch
DMI notifies NCMP of new , deleted or changed cmhandles DMI Plugin NCMP. Including initial registration | Scenario : DMI notifies NCMP of new cmhandles Request Body
json attributes:
|
openAPI Updates
To support this the equivalent openAPI will be similar to the below in bold.
RestCmHandle: required: - cmHandle type: object properties: cmHandle: type: string example: cmHandle123 cmHandleProperties: $ref: '#/components/schemas/RestCmHandleAdditionalProperties' RestCmHandleAdditionalProperties: type: object additionalProperties: type: string example: system-001 RestDmiPluginRegistration: type: object properties: dmiPlugin: type: string required: false example: onap-dmi-plugin dmiDataPlugin: type: string required: false example: onap-dmi-data-plugin dmiModelPlugin: type: string required: false example: onap-dmi-model-plugin createdCmHandles: type: array items: $ref: '#/components/schemas/RestCmHandle' updatedCmHandles: type: array items: $ref: '#/components/schemas/RestCmHandle' removedCmHandles: type: array items: type: string