From 3d1579cb8cfe7fe924181bc3e02c570dca6ae081 Mon Sep 17 00:00:00 2001 From: shivasubedi Date: Mon, 13 Sep 2021 16:43:20 +0100 Subject: Create preliminary documentation for ONAP DMI-Plugin Create Preliminary documentation for Istanbul release of the DMI Plugin. Added new plugins in POM to generate swagger doc for design page. Added icons from Cps-Core, along with latest conf.py file from http://gerrit.onap.org/r/doc Issue-ID: CPS-625 Change-Id: I30582de9b07e93c1c2ecc18003ee6882994690d8 Signed-off-by: DylanB95EST Signed-off-by: shivasubedi --- docs/_static/css/ribbon.css | 63 ++++ docs/_static/dmi-plugin-modeling-concepts.png | Bin 0 -> 70110 bytes docs/_static/dmi-plugin-r9-arch-diagram.PNG | Bin 0 -> 28969 bytes docs/_static/favicon.ico | Bin 0 -> 2102 bytes docs/_static/logo_onap_2017.png | Bin 0 -> 12278 bytes docs/architecture.rst | 40 +++ docs/conf.py | 112 +++++++ docs/conf.yaml | 25 ++ docs/deployment.rst | 15 + docs/design.rst | 40 +++ docs/index.rst | 41 +++ docs/modeling.rst | 18 ++ docs/openapi/openapi.yaml | 428 ++++++++++++++++++++++++++ docs/overview.rst | 21 ++ docs/release-notes.rst | 129 ++++++++ docs/requirements-docs.txt | 15 + docs/tox.ini | 22 ++ pom.xml | 137 ++++++++- 18 files changed, 1105 insertions(+), 1 deletion(-) create mode 100644 docs/_static/css/ribbon.css create mode 100644 docs/_static/dmi-plugin-modeling-concepts.png create mode 100644 docs/_static/dmi-plugin-r9-arch-diagram.PNG create mode 100644 docs/_static/favicon.ico create mode 100644 docs/_static/logo_onap_2017.png create mode 100644 docs/architecture.rst create mode 100644 docs/conf.py create mode 100644 docs/conf.yaml create mode 100644 docs/deployment.rst create mode 100644 docs/design.rst create mode 100644 docs/index.rst create mode 100644 docs/modeling.rst create mode 100644 docs/openapi/openapi.yaml create mode 100644 docs/overview.rst create mode 100644 docs/release-notes.rst create mode 100644 docs/requirements-docs.txt create mode 100644 docs/tox.ini diff --git a/docs/_static/css/ribbon.css b/docs/_static/css/ribbon.css new file mode 100644 index 00000000..6008cb1a --- /dev/null +++ b/docs/_static/css/ribbon.css @@ -0,0 +1,63 @@ +.ribbon { + z-index: 1000; + background-color: #a00; + overflow: hidden; + white-space: nowrap; + position: fixed; + top: 25px; + right: -50px; + -webkit-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -ms-transform: rotate(45deg); + -o-transform: rotate(45deg); + transform: rotate(45deg); + -webkit-box-shadow: 0 0 10px #888; + -moz-box-shadow: 0 0 10px #888; + box-shadow: 0 0 10px #888; + +} + +.ribbon a { + border: 1px solid #faa; + color: #fff; + display: block; + font: bold 81.25% 'Helvetica Neue', Helvetica, Arial, sans-serif; + margin: 1px 0; + padding: 10px 50px; + text-align: center; + text-decoration: none; + text-shadow: 0 0 5px #444; + transition: 0.5s; +} + +.ribbon a:hover { + background: #c11; + color: #fff; +} + + +/* override table width restrictions */ +@media screen and (min-width: 767px) { + + .wy-table-responsive table td, .wy-table-responsive table th { + /* !important prevents the common CSS stylesheets from overriding + this as on RTD they are loaded after this stylesheet */ + white-space: normal !important; + } + + .wy-table-responsive { + overflow: visible !important; + } +} + +@media screen and (max-width: 767px) { + .wy-table-responsive table td { + white-space: nowrap; + } +} + +/* fix width of the screen */ + +.wy-nav-content { + max-width: none; +} diff --git a/docs/_static/dmi-plugin-modeling-concepts.png b/docs/_static/dmi-plugin-modeling-concepts.png new file mode 100644 index 00000000..77817e4e Binary files /dev/null and b/docs/_static/dmi-plugin-modeling-concepts.png differ diff --git a/docs/_static/dmi-plugin-r9-arch-diagram.PNG b/docs/_static/dmi-plugin-r9-arch-diagram.PNG new file mode 100644 index 00000000..a7910819 Binary files /dev/null and b/docs/_static/dmi-plugin-r9-arch-diagram.PNG differ diff --git a/docs/_static/favicon.ico b/docs/_static/favicon.ico new file mode 100644 index 00000000..cb712ebd Binary files /dev/null and b/docs/_static/favicon.ico differ diff --git a/docs/_static/logo_onap_2017.png b/docs/_static/logo_onap_2017.png new file mode 100644 index 00000000..5d064f43 Binary files /dev/null and b/docs/_static/logo_onap_2017.png differ diff --git a/docs/architecture.rst b/docs/architecture.rst new file mode 100644 index 00000000..65125764 --- /dev/null +++ b/docs/architecture.rst @@ -0,0 +1,40 @@ +.. 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 +.. _architecture: + +DMI Plugin Architecture +####################### + +.. warning:: draft + +.. toctree:: + :maxdepth: 1 + + +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 `_ + +This page reflects the state for Istanbul-R9 release. + +.. image:: _static/dmi-plugin-r9-arch-diagram.PNG + +API definitions +=============== + +The DMI plugin provides following interfaces. + +.. list-table:: + :header-rows: 0 + + * - Interface name + - Interface definition + - Interface capabilities + - Protocol + +The DMI plugin Basic Concepts are described in :doc:`modeling`. diff --git a/docs/conf.py b/docs/conf.py new file mode 100644 index 00000000..3aaddd19 --- /dev/null +++ b/docs/conf.py @@ -0,0 +1,112 @@ +# ============LICENSE_START======================================================= +# Copyright (C) 2021 Nordix Foundation +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 +# ============LICENSE_END========================================================= + + +from docutils.parsers.rst import directives +from docs_conf.conf import * + +branch = 'latest' +doc_url = 'https://docs.onap.org/projects' +master_doc = 'index' + +intersphinx_mapping = {} + +# Latest (change to branch) +intersphinx_mapping['onap-cps'] = ('{}/onap-cps/en/%s'.format(doc_url) % branch, None) + +linkcheck_ignore = [ + 'http://localhost', + 'https://example.com', + 'about:config', + # this URL is not directly reachable and must be configured in the system hosts file. + 'https://portal.api.simpledemo.onap.org:30225/ONAPPORTAL/login.htm', + # anchor issues + 'https://docs.onap.org/projects/onap-integration/en/latest/docs_usecases_release.html#.*', + 'https://docs.linuxfoundation.org/docs/communitybridge/easycla/contributors/contribute-to-a-gerrit-project#.*', + 'https://docs.onap.org/projects/onap-integration/en/latest/docs_robot.html#docs-robot', + 'https://docs.onap.org/projects/onap-integration/en/latest/docs_usecases_release.html#docs-usecases-release', + 'https://docs.onap.org/projects/onap-integration/en/latest/docs_usecases.html#docs-usecases', + 'https://docs.onap.org/projects/onap-integration/en/latest/usecases/release_non_functional_requirements.html#release-non-functional-requirements', +] + + +html_last_updated_fmt = '%d-%b-%y %H:%M' + + +def setup(app): + app.add_css_file("css/ribbon.css") + + +needs_extra_options = { + "target": directives.unchanged, + "keyword": directives.unchanged, + "introduced": directives.unchanged, + "updated": directives.unchanged, + "impacts": directives.unchanged, + "validation_mode": directives.unchanged, + "validated_by": directives.unchanged, + "test": directives.unchanged, + "test_case": directives.unchanged, + "test_file": directives.unchanged, + "notes": directives.unchanged, +} + +needs_id_regex = "^[A-Z0-9]+-[A-Z0-9]+" +needs_id_required = True +needs_title_optional = True + +needs_template_collapse = """ +.. _{{id}}: + +{% if hide == false -%} +.. role:: needs_tag +.. role:: needs_status +.. role:: needs_type +.. role:: needs_id +.. role:: needs_title + +.. rst-class:: need +.. rst-class:: need_{{type_name}} + +.. container:: need + + `{{id}}` - {{content|indent(4)}} + + .. container:: toggle + + .. container:: header + + Details + +{% if status and status|upper != "NONE" and not hide_status %} | status: :needs_status:`{{status}}`{% endif %} +{% if tags and not hide_tags %} | tags: :needs_tag:`{{tags|join("` :needs_tag:`")}}`{% endif %} +{% if keyword %} | keyword: `{{keyword}}` {% endif %} +{% if target %} | target: `{{target}}` {% endif %} +{% if introduced %} | introduced: `{{introduced}}` {% endif %} +{% if updated %} | updated: `{{updated}}` {% endif %} +{% if impacts %} | impacts: `{{impacts}}` {% endif %} +{% if validation_mode %} | validation mode: `{{validation_mode}}` {% endif %} +{% if validated_by %} | validated by: `{{validated_by}}` {% endif %} +{% if test %} | test: `{{test}}` {% endif %} +{% if test_case %} | test case: {{test_case}} {% endif %} +{% if test_file %} | test file: `{{test_file}}` {% endif %} +{% if notes %} | notes: `{{notes}}` {% endif %} + | children: :need_incoming:`{{id}}` + | parents: :need_outgoing:`{{id}}` +{% endif -%} +""" diff --git a/docs/conf.yaml b/docs/conf.yaml new file mode 100644 index 00000000..8425e089 --- /dev/null +++ b/docs/conf.yaml @@ -0,0 +1,25 @@ +# ============LICENSE_START======================================================= +# Copyright (C) 2021 Nordix Foundation +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 +# ============LICENSE_END========================================================= + +--- +project_cfg: onap +project: onap + +# Change this to ReleaseBranchName to modify the header +default-version: latest +# diff --git a/docs/deployment.rst b/docs/deployment.rst new file mode 100644 index 00000000..0f53898b --- /dev/null +++ b/docs/deployment.rst @@ -0,0 +1,15 @@ +.. 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 +.. _deployment: + + +DMI Plugin Deployment +##################### + +.. warning:: draft + +.. toctree:: + :maxdepth: 1 \ No newline at end of file diff --git a/docs/design.rst b/docs/design.rst new file mode 100644 index 00000000..e65c5aed --- /dev/null +++ b/docs/design.rst @@ -0,0 +1,40 @@ +.. 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 +.. _design: + + +DMI Plugin Design +################# + +.. warning:: draft + +.. toctree:: + :maxdepth: 1 + +Offered APIs +============ + +The DMI Plugin supports the public APIs listed in the link below: + +:download:`DMI Rest OpenApi Specification ` + +Exposed API +----------- + +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. + +Specification can be accessed using following URI: + +.. code-block:: bash + + “http://:/v3/api-docs?group=dmi-plugin-docket” + +DMI Plugin CM Handles +===================== + +Several DMI Plugin APIs use the cm-handle parameter. +The DMI Plugin CM Handles are described in detail in :doc:`dmi-plugin-cm-handle`. diff --git a/docs/index.rst b/docs/index.rst new file mode 100644 index 00000000..bc299aeb --- /dev/null +++ b/docs/index.rst @@ -0,0 +1,41 @@ +.. 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 +.. _dmi: + +.. THIS IS USED INTERNALLY IN CPS ONLY +.. _dmi-framework-doc: + +DMI Plugin Documentation for the Istanbul-R9 Release +---------------------------------------------------- + +.. warning:: draft + +.. toctree:: + :maxdepth: 1 + + overview.rst + architecture.rst + design.rst + modeling.rst + deployment.rst + release-notes.rst + + +CPS-Core Documentation for the Istanbul-R9 Release +--------------------------------------------------------- + +.. toctree:: + :maxdepth: 3 + +* `CPS Core(placeholder) `_ + +CPS-Temporal Documentation for the Istanbul-R9 Release +------------------------------------------------------ + +.. toctree:: + :maxdepth: 1 + +* `CPS Temporal(placeholder) `_ \ No newline at end of file diff --git a/docs/modeling.rst b/docs/modeling.rst new file mode 100644 index 00000000..63f25b7c --- /dev/null +++ b/docs/modeling.rst @@ -0,0 +1,18 @@ +.. 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 +.. _modeling: + +DMI Plugin Modeling +################### + +.. warning:: draft + +.. toctree:: + :maxdepth: 1 + +Basic Concepts +============== + +.. image:: _static/dmi-plugin-modeling-concepts.png + :alt: Basic entities relationship diff --git a/docs/openapi/openapi.yaml b/docs/openapi/openapi.yaml new file mode 100644 index 00000000..082df223 --- /dev/null +++ b/docs/openapi/openapi.yaml @@ -0,0 +1,428 @@ +openapi: 3.0.1 +info: + title: NCMP DMI Plugin + description: Adds Data Model Inventory Registry capability for ONAP + version: 1.0.0 +servers: +- url: //localhost:8088/ +tags: +- name: dmi-plugin-internal + description: DMI plugin internal rest apis +- name: dmi-plugin + description: DMI plugin rest apis +paths: + /v1/ch/{cmHandle}/modules: + post: + tags: + - dmi-plugin + summary: Get all modules for cm handle + description: Get all modules for given cm handle + operationId: getModulesForCmHandle + parameters: + - name: cmHandle + in: path + description: The cm handle to fetch all the modules + required: true + style: simple + explode: false + schema: + type: string + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/ModuleSet' + "400": + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "403": + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + /v1/inventory/cmHandles: + post: + tags: + - dmi-plugin-internal + summary: register given list of cm handles (internal use only) + description: register given list of cm handles (internal use only) + operationId: registerCmHandles + requestBody: + description: list of cm handles + content: + application/json: + schema: + $ref: '#/components/schemas/CmHandles' + required: true + responses: + "201": + description: Created + content: + text/plain: + schema: + type: string + "400": + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "403": + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + x-api-audience: component-internal + /v1/ch/{cmHandle}/moduleResources: + post: + tags: + - dmi-plugin + summary: Retrieve module resources + description: Retrieve module resources for one or more modules + operationId: retrieveModuleResources + parameters: + - name: cmHandle + in: path + description: The identifier for a network function, network element, subnetwork, + or any other cm object by managed Network CM Proxy + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DmiReadRequestBody' + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + type: object + "400": + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "403": + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + /v1/ch/{cmHandle}/data/ds/ncmp-datastore:passthrough-operational/{resourceIdentifier}: + put: + tags: + - dmi-plugin + summary: Get resource data from passthrough-operational for cm handle + description: Get resource data from passthrough-operational for cm handle + operationId: getResourceDataOperationalForCmHandle + parameters: + - name: cmHandle + in: path + description: The identifier for a network function, network element, subnetwork, + or any other cm object by managed Network CM Proxy + required: true + schema: + type: string + - name: resourceIdentifier + in: path + description: Resource identifier to get/set the resource data + required: true + schema: + type: string + - name: accept + in: header + description: Accept parameter for response, if accept parameter is null, that + means client can accept any format. + schema: + type: string + enum: + - application/json + - application/yang-data+json + - name: fields + in: query + description: Fields parameter to filter resource + required: false + schema: + type: string + - name: depth + in: query + description: Depth parameter for response + required: false + schema: + minimum: 1 + type: integer + requestBody: + description: Operational body + content: + application/json: + schema: + $ref: '#/components/schemas/DataAccessReadRequest' + responses: + "200": + description: OK + content: + application/json: + schema: + type: object + "400": + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "403": + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + /v1/ch/{cmHandle}/data/ds/ncmp-datastore:passthrough-running/{resourceIdentifier}: + put: + tags: + - dmi-plugin + summary: Get resource data from passthrough-running for cm handle + description: Get resource data from passthrough-running for cm handle + operationId: getResourceDataPassthroughRunningForCmHandle + parameters: + - name: cmHandle + in: path + description: The identifier for a network function, network element, subnetwork, + or any other cm object by managed Network CM Proxy + required: true + schema: + type: string + - name: resourceIdentifier + in: path + description: Resource identifier to get/set the resource data + required: true + schema: + type: string + - name: accept + in: header + description: Accept parameter for response, if accept parameter is null, that + means client can accept any format. + schema: + type: string + enum: + - application/json + - application/yang-data+json + - name: fields + in: query + description: Fields parameter to filter resource + required: false + schema: + type: string + - name: depth + in: query + description: Depth parameter for response + required: false + schema: + minimum: 1 + type: integer + requestBody: + description: Operational body + content: + application/json: + schema: + $ref: '#/components/schemas/DataAccessReadRequest' + responses: + "200": + description: OK + content: + application/json: + schema: + type: object + "400": + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "403": + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + post: + tags: + - dmi-plugin + summary: Write data for a cmHandle + description: Write data for a cmHandle using passthrough-running + operationId: writeDataByPassthroughRunningForCmHandle + parameters: + - name: cmHandle + in: path + description: The identifier for a network function, network element, subnetwork, + or any other cm object by managed Network CM Proxy + required: true + schema: + type: string + - name: resourceIdentifier + in: path + description: Resource identifier to get/set the resource data + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DataAccessWriteRequest' + required: true + responses: + "200": + description: OK + content: + application/json: + schema: + type: object + "400": + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + "403": + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' +components: + schemas: + ModuleSet: + type: object + properties: + schemas: + type: array + items: + $ref: '#/components/schemas/ModuleSet_schemas' + ErrorMessage: + title: Error + type: object + properties: + status: + type: string + message: + type: string + details: + type: string + CmHandles: + type: object + properties: + cmHandles: + type: array + items: + type: string + DmiReadRequestBody: + type: object + properties: + operation: + type: string + enum: + - read + data: + $ref: '#/components/schemas/DmiReadRequestBody_data' + cmHandleProperties: + type: object + additionalProperties: + type: string + example: system-001 + DataAccessReadRequest: + type: object + properties: + operation: + type: string + enum: + - read + cmHandleProperties: + type: object + additionalProperties: + type: string + DataAccessWriteRequest: + type: object + properties: + operation: + type: string + enum: + - create + dataType: + type: string + data: + type: object + cmHandleProperties: + type: object + additionalProperties: + type: string + ModuleSet_schemas: + type: object + properties: + moduleName: + type: string + revision: + type: string + namespace: + type: string + DmiReadRequestBody_data_modules: + type: object + properties: + name: + type: string + revision: + type: string + DmiReadRequestBody_data: + type: object + properties: + modules: + type: array + items: + $ref: '#/components/schemas/DmiReadRequestBody_data_modules' diff --git a/docs/overview.rst b/docs/overview.rst new file mode 100644 index 00000000..c2e670c6 --- /dev/null +++ b/docs/overview.rst @@ -0,0 +1,21 @@ +.. 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 +.. _overview: + +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 `_ + +Contact Information +------------------- + +onap-discuss@lists.onap.org diff --git a/docs/release-notes.rst b/docs/release-notes.rst new file mode 100644 index 00000000..8e9a91a7 --- /dev/null +++ b/docs/release-notes.rst @@ -0,0 +1,129 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + +.. DO NOT CHANGE THIS LABEL FOR RELEASE NOTES - EVEN THOUGH IT GIVES A WARNING +.. _release_notes: + + + +======================== +DMI Plugin Release Notes +======================== + +.. warning:: draft + +.. contents:: + :depth: 2 +.. + +.. ======================== +.. * * * ISTANBUL * * * +.. ======================== + +Version: 1.0.0 +============== + +Abstract +-------- + +This document provides the release notes for Istanbul release. + +Release Data +------------ + ++--------------------------------------+--------------------------------------------------------+ +| **CPS Project** | | +| | | ++--------------------------------------+--------------------------------------------------------+ +| **Docker images** | placeholder | +| | | ++--------------------------------------+--------------------------------------------------------+ +| **Release designation** | 1.0.0 Istanbul | +| | | ++--------------------------------------+--------------------------------------------------------+ +| **Release date** | 2021-14-10 | +| | | ++--------------------------------------+--------------------------------------------------------+ + +Features +-------- +* Implement plugin registration. +* Retrieve data from cmHandles using ncmp-datastores passthorugh. +* Retrieve Yang Resources from one or more modules of a CM Handle. + +.. _istanbul_deliverable: + +Deliverables +------------ + +Software Deliverables + +.. csv-table:: + :header: "Repository", "SubModules", "Version & Docker Image (if applicable)" + :widths: auto + + "cps/ncmp-dmi-plugin", "", "placeholder" + +Bug Fixes +--------- + +This document provides the release notes for Istanbul release. + +Summary +------- + +Following DMI plugin components are available with default ONAP/DMI-plugin installation. + + + * Platform components + + * Service components + + * Additional resources that CPS utilizes deployed using ONAP common charts + +Below service components (mS) are available to be deployed on-demand. + +Under OOM (Kubernetes) all CPS component containers are deployed as Kubernetes Pods/Deployments/Services into Kubernetes cluster. + +Known Limitations, Issues and Workarounds +----------------------------------------- + +*System Limitations* + +*Known Vulnerabilities* + +None + +*Workarounds* + +Security Notes +-------------- + +*Fixed Security Issues* + +*Known Security Issues* + +Test Results +------------ + * `Integration tests` + +References +---------- + +For more information on the ONAP Honolulu release, please see: + +#. `ONAP Home Page`_ +#. `ONAP Documentation`_ +#. `ONAP Release Downloads`_ +#. `ONAP Wiki Page`_ + + +.. _`ONAP Home Page`: https://www.onap.org +.. _`ONAP Wiki Page`: https://wiki.onap.org +.. _`ONAP Documentation`: https://docs.onap.org +.. _`ONAP Release Downloads`: https://git.onap.org + +Quick Links: + + - `Dmi Plugin implementation page `_ + - `Passing Badge information for CPS `_ diff --git a/docs/requirements-docs.txt b/docs/requirements-docs.txt new file mode 100644 index 00000000..b3188ddd --- /dev/null +++ b/docs/requirements-docs.txt @@ -0,0 +1,15 @@ +tox +Sphinx +doc8 +docutils +setuptools +six +sphinx_rtd_theme>=0.4.3 +sphinxcontrib-blockdiag +sphinxcontrib-needs>=0.2.3 +sphinxcontrib-nwdiag +sphinxcontrib-seqdiag +sphinxcontrib-swaggerdoc +sphinxcontrib-plantuml +sphinx_bootstrap_theme +lfdocs-conf diff --git a/docs/tox.ini b/docs/tox.ini new file mode 100644 index 00000000..edac8c35 --- /dev/null +++ b/docs/tox.ini @@ -0,0 +1,22 @@ +[tox] +minversion = 1.6 +envlist = docs, +skipsdist = true + +[testenv:docs] +basepython = python3 +deps = -r{toxinidir}/requirements-docs.txt +commands = + sphinx-build -b html -n -d {envtmpdir}/doctrees ./ {toxinidir}/_build/html + echo "Generated docs available in {toxinidir}/_build/html" +whitelist_externals = + echo + git + sh + +[testenv:docs-linkcheck] +basepython = python3 +#deps = -r{toxinidir}/requirements-docs.txt +commands = echo "Link Checking not enforced" +#commands = sphinx-build -b linkcheck -d {envtmpdir}/doctrees ./ {toxinidir}/_build/linkcheck +whitelist_externals = echo diff --git a/pom.xml b/pom.xml index 7204244e..c63cc422 100644 --- a/pom.xml +++ b/pom.xml @@ -17,7 +17,108 @@ SPDX-License-Identifier: Apache-2.0 ============LICENSE_END========================================================= ---> +--> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ]> @@ -177,6 +278,17 @@ + + openapi-yaml-gen + + generate + + compile + + ${project.basedir}/docs/openapi/openapi.yml + openapi-yaml + + @@ -414,6 +526,29 @@ + + maven-resources-plugin + + + copy-resources + compile + + copy-resources + + + ${project.basedir}/docs/openapi/ + + + ${project.basedir}/target/generated-sources/swagger/ + + openapi.yaml + + + + + + + -- cgit 1.2.3-korg