diff options
Diffstat (limited to 'docs')
-rw-r--r-- | docs/_static/cps-r9-ncmp-dmi-plugin-interface-diagram.png | bin | 0 -> 24561 bytes | |||
-rw-r--r-- | docs/admin-guide.rst | 12 | ||||
-rw-r--r-- | docs/architecture.rst | 39 | ||||
-rw-r--r-- | docs/deployment.rst | 50 | ||||
-rw-r--r-- | docs/design.rst | 24 | ||||
-rw-r--r-- | docs/index.rst | 17 | ||||
-rw-r--r-- | docs/modeling.rst | 10 | ||||
-rw-r--r-- | docs/openapi/components.yml | 74 | ||||
-rw-r--r-- | docs/openapi/openapi.yml | 12 | ||||
-rw-r--r-- | docs/overview.rst | 9 |
10 files changed, 156 insertions, 91 deletions
diff --git a/docs/_static/cps-r9-ncmp-dmi-plugin-interface-diagram.png b/docs/_static/cps-r9-ncmp-dmi-plugin-interface-diagram.png Binary files differnew file mode 100644 index 00000000..6c5903d2 --- /dev/null +++ b/docs/_static/cps-r9-ncmp-dmi-plugin-interface-diagram.png diff --git a/docs/admin-guide.rst b/docs/admin-guide.rst new file mode 100644 index 00000000..787e931b --- /dev/null +++ b/docs/admin-guide.rst @@ -0,0 +1,12 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 +.. Copyright (C) 2021 Nordix Foundation + +.. DO NOT CHANGE THIS LABEL FOR RELEASE NOTES - EVEN THOUGH IT GIVES A WARNING +.. _adminGuide: + + +DMI-Plugin Admin Guide +###################### + +For DMI-Plugin Admin Guide, please refer to the `CPS Admin Guide. <https://docs.onap.org/projects/onap-cps/en/latest/admin-guide.html>`_
\ No newline at end of file diff --git a/docs/architecture.rst b/docs/architecture.rst index 65125764..65e10d45 100644 --- a/docs/architecture.rst +++ b/docs/architecture.rst @@ -6,8 +6,6 @@ DMI Plugin Architecture ####################### -.. warning:: draft - .. toctree:: :maxdepth: 1 @@ -15,14 +13,9 @@ DMI Plugin Architecture High Level Component Definition and Architectural Relationships =============================================================== -The DMI plugin provides a gateway for registration of CM Handles within CPS - -Project implementation proposal page describing scope is here: -`CPS-390 Spike: Define and Agree DMI Plugin REST Interface <https://wiki.onap.org/display/DW/CPS-390+Spike%3A+Define+and+Agree+DMI+Plugin+REST+Interface>`_ +The DMI plugin provides a gateway for registration and syncing of CM Handles within CPS. -This page reflects the state for Istanbul-R9 release. - -.. image:: _static/dmi-plugin-r9-arch-diagram.PNG +.. image:: _static/cps-r9-ncmp-dmi-plugin-interface-diagram.png API definitions =============== @@ -30,11 +23,33 @@ API definitions The DMI plugin provides following interfaces. .. list-table:: - :header-rows: 0 + :header-rows: 1 * - Interface name - Interface definition - Interface capabilities - Protocol - -The DMI plugin Basic Concepts are described in :doc:`modeling`. + * - CPS-E-05 + - Provides external clients with xNF data access and module information + - - Create data + - Delete data + - Update data + - Read data + - Query data + - Query module references + - REST + * - CPS-NCMP-I-01 + - DMI Plugin Inventory + - - Register Plug-in CM-Handles + - REST + * - DMI-I-01 + - Provides NCMP with xNF data access and module information + - - Create data + - Delete data + - Update data + - Read data + - Query data + - Query module references + - REST + +More details on the CPS interface CPS-E-05 which is responsible for the DMI Plugin can be found on the `CPS Architecture Page <https://docs.onap.org/projects/onap-cps/en/latest/architecture.html>`_.
\ No newline at end of file diff --git a/docs/deployment.rst b/docs/deployment.rst index 0f53898b..d8431139 100644 --- a/docs/deployment.rst +++ b/docs/deployment.rst @@ -9,7 +9,51 @@ DMI Plugin Deployment ##################### -.. warning:: draft - .. toctree:: - :maxdepth: 1
\ No newline at end of file + :maxdepth: 1 + +Deployment +========== + +Refer to `CPS Deployment <https://docs.onap.org/projects/onap-cps/en/latest/deployment.html>`_ +page for deployment documentation related to DMI Plugin and all CPS components. + +Additional DMI Plugin Core Customisations +========================================= + +Application Properties +---------------------- + +The following table lists properties that can be specified as helm chart +values to configure for the application being deployed. This list is not exhaustive. + ++---------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------+ +| Property | Description | Default Value | ++=======================================+=============================================================================================================+=================================================+ +| config.appUserName | User name used by the DMI-Plugin to authenticate users for the REST APIs that it exposes. | ``ncmpuser`` | ++---------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------+ +| config.appUserPassword | Password used by the DMI-Plugin to authenticate users for the REST APIs that it exposes. | Not defined | +| | If not defined, the password is generated when deploying the application. | | +| | See also `Credentials Retrieval <https://docs.onap.org/projects/onap-cps/en/latest/deployment.html>`_ | | ++---------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------+ +| config.dmiServiceName | DMI-Plugin hostname and port. | Not defined | ++---------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------+ +| config.cpsCore.username | Internal user name used by DMI-Plugin to connect to the CPS-Core service. | ``cpsuser`` | ++---------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------+ +| config.cpsCore.password | Internal password used by DMI-Plugin to connect to CPS-Core service. | Not defined | ++---------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------+ +| config.sdnc.url | SDNC host name and port. | ``http://sdnc:8181`` | ++---------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------+ +| config.sdnc.username | Internal user name used by DMI-Plugin to connect to the SDNC. | ``admin`` | ++---------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------+ +| config.sdnc.Password | Internal password used by DMI-Plugin to connect to the SDNC. | ``Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U`` | ++---------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------+ +| config.sdnc.topologyId | SDNC topology Id. | ``topology-netconf`` | ++---------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------+ + +DMI Plugin Docker Installation +============================== + +DMI-Plugin can also be installed in a docker environment. Latest `docker-compose <https://github.com/onap/cps-ncmp-dmi-plugin/blob/master/docker-compose/docker-compose.yml>`_ is included in the repo to start all the relevant +services. +Latest instructions are covered in the `README <https://github.com/onap/cps-ncmp-dmi-plugin/blob/master/docker-compose/README.md>`_
\ No newline at end of file diff --git a/docs/design.rst b/docs/design.rst index e65c5aed..708feeb3 100644 --- a/docs/design.rst +++ b/docs/design.rst @@ -9,8 +9,6 @@ DMI Plugin Design ################# -.. warning:: draft - .. toctree:: :maxdepth: 1 @@ -19,10 +17,10 @@ Offered APIs The DMI Plugin supports the public APIs listed in the link below: -:download:`DMI Rest OpenApi Specification <openapi/openapi.yml>` +:download:`DMI Rest OpenApi Specification <openapi/openapi.yaml>` -Exposed API ------------ +View Offered APIs +----------------- The standard for API definition in the RESTful API world is the OpenAPI Specification (OAS). The OAS 3, which is based on the original "Swagger Specification", is being widely used in API developments. @@ -31,10 +29,16 @@ Specification can be accessed using following URI: .. code-block:: bash - “http://<hostname>:<port>/v3/api-docs?group=dmi-plugin-docket” + http://<hostname>:<port>/v3/api-docs?group=dmi-plugin-docket + +Additionally, the Swagger User Interface can be found at the following URI. The component may be changed between CPS-Core +and CPS-NCMP using the drop down table in the top right: + +.. code-block:: bash + + http://<hostname>:<port>/swagger-ui/index.html?configUrl=/v3/api-docs/swagger-config#/ -DMI Plugin CM Handles -===================== +Consumed APIs +============= -Several DMI Plugin APIs use the cm-handle parameter. -The DMI Plugin CM Handles are described in detail in :doc:`dmi-plugin-cm-handle`. +- SDNC: REST based interface exposed by the SDNC client. This is used to retrieve the yang resources and modules for CPS. diff --git a/docs/index.rst b/docs/index.rst index 54da6148..7d1fcf37 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -8,34 +8,27 @@ .. THIS IS USED INTERNALLY IN CPS ONLY .. _dmi-framework-doc: -DMI Plugin Documentation for the Istanbul-R9 Release +DMI-Plugin Documentation for the Istanbul-R9 Release ---------------------------------------------------- -.. warning:: draft - .. toctree:: :maxdepth: 1 overview.rst architecture.rst + admin-guide.rst design.rst modeling.rst deployment.rst release-notes.rst -CPS-Core Documentation for the Istanbul-R9 Release +CPS-NCMP Documentation for the Istanbul-R9 Release --------------------------------------------------------- -.. toctree:: - :maxdepth: 3 - -* `CPS Core(placeholder) `_ +* `CPS-NCMP <https://docs.onap.org/projects/onap-cps/en/latest/index.html>`_ CPS-Temporal Documentation for the Istanbul-R9 Release ------------------------------------------------------ -.. toctree:: - :maxdepth: 1 - -* `CPS Temporal(placeholder) `_
\ No newline at end of file +* `CPS-Temporal <https://docs.onap.org/projects/onap-cps-cps-temporal/en/latest/index.html>`_ diff --git a/docs/modeling.rst b/docs/modeling.rst index 63f25b7c..fdfcef06 100644 --- a/docs/modeling.rst +++ b/docs/modeling.rst @@ -6,13 +6,9 @@ DMI Plugin Modeling ################### -.. warning:: draft - .. toctree:: :maxdepth: 1 -Basic Concepts -============== - -.. image:: _static/dmi-plugin-modeling-concepts.png - :alt: Basic entities relationship +The DMI Plugin acts as a proxy and as such does not have its own data model. For more information on the data which +is passed through the DMI Plugin, please refer to the `NCMP Modeling Section <https://docs.onap.org/projects/onap-cps/en/latest/modeling.html#ncmp-modeling>`_ +of the `CPS Modeling Page <https://docs.onap.org/projects/onap-cps/en/latest/modeling.html>`_. diff --git a/docs/openapi/components.yml b/docs/openapi/components.yml index 736639d8..30e5987f 100644 --- a/docs/openapi/components.yml +++ b/docs/openapi/components.yml @@ -19,14 +19,15 @@ components: items: type: string - DmiModuleReadRequestBody: + ModuleReferencesRequest: + type: object + properties: + cmHandleProperties: + $ref: '#/components/schemas/cmHandleProperties' + + ModuleResourcesReadRequest: type: object properties: - operation: - type: string - enum: [read] - dataType: - type: string data: type: object properties: @@ -36,14 +37,11 @@ components: type: object properties: name: - type: string + $ref: '#/components/schemas/name' revision: - type: string + $ref: '#/components/schemas/revision' cmHandleProperties: - type: object - additionalProperties: - type: string - example: system-001 + $ref: '#/components/schemas/cmHandleProperties' ModuleSet: type: object @@ -56,7 +54,7 @@ components: moduleName: type: string revision: - type: string + $ref: '#/components/schemas/revision' namespace: type: string @@ -73,7 +71,7 @@ components: moduleName: type: string revision: - type: string + $ref: '#/components/schemas/revision' DataAccessReadRequest: type: object @@ -82,9 +80,7 @@ components: type: string enum: [ read ] cmHandleProperties: - type: object - additionalProperties: - type: string + $ref: '#/components/schemas/cmHandleProperties' DataAccessWriteRequest: type: object @@ -97,9 +93,21 @@ components: data: type: string cmHandleProperties: - type: object - additionalProperties: - type: string + $ref: '#/components/schemas/cmHandleProperties' + + cmHandleProperties: + type: object + additionalProperties: + type: string + example: {"prop1":"value1","prop2":"value2"} + + name: + type: string + example: someName + + revision: + type: string + example: someRevision responses: NotFound: @@ -174,19 +182,21 @@ components: type: string enum: [ application/json, application/yang-data+json ] - fieldsParamInQuery: - name: fields + optionsParamInQuery: + name: options in: query - description: Fields parameter to filter resource + description: options parameter in query, it is mandatory to wrap key(s)=value(s) in parenthesis'()'. required: false schema: type: string - - depthParamInQuery: - name: depth - in: query - description: Depth parameter for response - required: false - schema: - type: integer - minimum: 1
\ No newline at end of file + allowReserved: true + examples: + sample1: + value: + options: (key1=value1,key2=value2) + sample2: + value: + options: (key1=value1,key2=value1/value2) + sample3: + value: + options: (key1=10,key2=value2,key3=[val31,val32])
\ No newline at end of file diff --git a/docs/openapi/openapi.yml b/docs/openapi/openapi.yml index 1e7b38c9..83c05abb 100644 --- a/docs/openapi/openapi.yml +++ b/docs/openapi/openapi.yml @@ -37,7 +37,7 @@ paths: - dmi-plugin summary: Get all modules for cm handle description: Get all modules for given cm handle - operationId: getModulesForCmHandle + operationId: getModuleReferences parameters: - name: cmHandle in: path @@ -50,7 +50,7 @@ paths: content: application/json: schema: - $ref: 'components.yml#/components/schemas/DataAccessReadRequest' + $ref: 'components.yml#/components/schemas/ModuleReferencesRequest' responses: '200': description: OK @@ -113,7 +113,7 @@ paths: content: application/json: schema: - $ref: 'components.yml#/components/schemas/DmiModuleReadRequestBody' + $ref: 'components.yml#/components/schemas/ModuleResourcesReadRequest' responses: '200': description: OK @@ -139,8 +139,7 @@ paths: - $ref: 'components.yml#/components/parameters/cmHandleInPath' - $ref: 'components.yml#/components/parameters/resourceIdentifierInQuery' - $ref: 'components.yml#/components/parameters/acceptParamInHeader' - - $ref: 'components.yml#/components/parameters/fieldsParamInQuery' - - $ref: 'components.yml#/components/parameters/depthParamInQuery' + - $ref: 'components.yml#/components/parameters/optionsParamInQuery' requestBody: description: Operational body content: @@ -168,8 +167,7 @@ paths: - $ref: 'components.yml#/components/parameters/cmHandleInPath' - $ref: 'components.yml#/components/parameters/resourceIdentifierInQuery' - $ref: 'components.yml#/components/parameters/acceptParamInHeader' - - $ref: 'components.yml#/components/parameters/fieldsParamInQuery' - - $ref: 'components.yml#/components/parameters/depthParamInQuery' + - $ref: 'components.yml#/components/parameters/optionsParamInQuery' requestBody: description: Operational body content: diff --git a/docs/overview.rst b/docs/overview.rst index c2e670c6..e8310ae4 100644 --- a/docs/overview.rst +++ b/docs/overview.rst @@ -6,14 +6,7 @@ DMI Plugin Overview =================== -.. warning:: draft - -The DMI Plugin is used to allow the DMI API's access to the corresponding NCMP API's. - -DMI Plugin Interface --------------------- - -Implementation Proposal: `DMI Plugin Interface <https://wiki.onap.org/display/DW/CPS-390+Spike%3A+Define+and+Agree+DMI+Plugin+REST+Interface>`_ +The DMI Plugin is used to allow the DMI API's access to the corresponding NCMP API's. For offered API's please refer to the :doc:`design` page. Contact Information ------------------- |