[SO] Documentation for ASD/CNFM 25/134325/3
authoregernug <gerard.nugent@est.tech>
Tue, 25 Apr 2023 10:19:58 +0000 (11:19 +0100)
committeregernug <gerard.nugent@est.tech>
Tue, 25 Apr 2023 11:59:28 +0000 (12:59 +0100)
Documentation in SO repo relating to ASD and CNFM

Issue-ID: SO-4048

Signed-off-by: egernug <gerard.nugent@est.tech>
Change-Id: I8a71931d00c7328c15a4b46daa14e5b62ab2a5d8

docs/api/apis/serviceInstances-api.rst
docs/developer_info/ASD_Overview.rst [new file with mode: 0644]
docs/developer_info/developer_information.rst
docs/images/asd_architecture.png [new file with mode: 0644]
docs/images/asd_cnfm.png [new file with mode: 0644]
docs/images/asd_onboarding.png [new file with mode: 0644]
docs/images/asd_orchestration.png [new file with mode: 0644]
docs/tox.ini

index 15ed393..6f7e787 100644 (file)
@@ -25,6 +25,8 @@ links:
 - :ref:`delete_vf_module`
 - :ref:`create_vnf`
 - :ref:`delete_vnf`
+- :ref:`create_cnf`
+- :ref:`delete_cnf`
 - :ref:`get_orchestration_request_by_id`
 - :ref:`get_orchestration_request_all`
 - :ref:`healthCheck`
@@ -941,6 +943,244 @@ UserParams Object
 |value                    |String            |Value of the tag                                 |
 +-------------------------+------------------+-------------------------------------------------+
 
+.. _create_cnf:
+
+Create CNF
+++++++++++
+
++--------------------+-------------------------------------------------------------------------------------+
+|Interface Definition|Description                                                                          |
++====================+=====================================================================================+
+|URI                 |/onap/so/infra/serviceInstantiation/v7/serviceInstances/{serviceInstanceId}/cnfs     |
++--------------------+-------------------------------------------------------------------------------------+
+|Operation Type      |POST                                                                                 |
++--------------------+-------------------------------------------------------------------------------------+
+|Content-Type        |application/json                                                                     |
++--------------------+-------------------------------------------------------------------------------------+
+
+Request Headers:
+
++-------------------+---------+-----------------------------------------------------------------------------------------+
+|Header Name        |Required |Description                                                                              |
++===================+=========+=========================================================================================+
+|Authorization      |Y        |Base64 encoded username:password                                                         |
++-------------------+---------+-----------------------------------------------------------------------------------------+
+
+Request Body:
+
++----------------+---------+-----------+--------------------------+-------------------------------------------+
+|Attribute       |Qualifier|Cardinality|Content                   |Description                                |
++================+=========+===========+==========================+===========================================+
+|requestDetails  |M        |1          |requestDetails Object     |Content of requestDetails object.          |
++----------------+---------+-----------+--------------------------+-------------------------------------------+
+
+RequestDetails Object
+
++-------------------+--------------------------+-------------------------------------------------+
+|Attribute          |Content                   |Description                                      |
++===================+==========================+=================================================+
+|modelInfo          |modelInfo Object          |Content of modelInfo object.                     |
++-------------------+--------------------------+-------------------------------------------------+
+|requestInfo        |requestInfo Object        |Content of requestInfo object.                   |
++-------------------+--------------------------+-------------------------------------------------+
+|requestParameters  |requestParameters Object  |Content of requestParameters object.             |
++-------------------+--------------------------+-------------------------------------------------+
+|relatedInstanceList|relatedInstanceList Object|Content of relatedInstanceList object.           |
++-------------------+--------------------------+-------------------------------------------------+
+|cloudConfiguration |cloudConfiguration Object |Content of cloudConfiguration object.            |
++-------------------+--------------------------+-------------------------------------------------+
+|platform           |platform Object           |Content of platform object.                      |
++-------------------+--------------------------+-------------------------------------------------+
+|lineOfBusiness     |lineOfBusiness Object     |Content of lineOfBusiness object.                |
++-------------------+--------------------------+-------------------------------------------------+
+
+ModelInfo Object
+
++-------------------------+------------------+-------------------------------------------------+
+|Attribute                |Content           |Description                                      |
++=========================+==================+=================================================+
+|modelType                |String            |Type of model                                    |
++-------------------------+------------------+-------------------------------------------------+
+|modelInvariantId         |String            |The Model Invariant Id.                          |
++-------------------------+------------------+-------------------------------------------------+
+|modelName                |String            |Name of the Model                                |
++-------------------------+------------------+-------------------------------------------------+
+|modelVersion             |String            |Version of the model                             |
++-------------------------+------------------+-------------------------------------------------+
+|modelCustomizationName   |String            |The Model Customization name                     |
++-------------------------+------------------+-------------------------------------------------+
+|modelVersionId           |String            |The Model version id                             |
++-------------------------+------------------+-------------------------------------------------+
+
+CloudConfiguration Object
+
++-------------------------+------------------+-------------------------------------------------+
+|Attribute                |Content           |Description                                      |
++=========================+==================+=================================================+
+|lcpCloudRegionId         |String            |CloudRegion Id (in A&AI)                         |
++-------------------------+------------------+-------------------------------------------------+
+|tenantId                 |String            |Name of the Subscriber                           |
++-------------------------+------------------+-------------------------------------------------+
+|cloudOwner               |String            |Name of the cloud owner                          |
++-------------------------+------------------+-------------------------------------------------+
+
+RequestInfo Object
+
++-------------------------+------------------+-------------------------------------------------+
+|Attribute                |Content           |Description                                      |
++=========================+==================+=================================================+
+|source                   |String            |source of the request                            |
++-------------------------+------------------+-------------------------------------------------+
+|productFamilyId          |String            |productFamilyId of the request                   |
++-------------------------+------------------+-------------------------------------------------+
+|instanceName             |String            |instanceName of the request                      |
++-------------------------+------------------+-------------------------------------------------+
+|suppressRollback         |String            |suppressRollback of the request                  |
++-------------------------+------------------+-------------------------------------------------+
+|requestorId              |String            |requestorId of the request                       |
++-------------------------+------------------+-------------------------------------------------+
+
+relatedInstance List
+
++-------------------------+------------------+-------------------------------------------------+
+|Attribute                |Content           |Description                                      |
++=========================+==================+=================================================+
+|relatedInstance          |Object            |relatedInstance Object                           |
++-------------------------+------------------+-------------------------------------------------+
+
+relatedInstance List
+
++-------------------------+------------------+-------------------------------------------------+
+|Attribute                |Content           |Description                                      |
++=========================+==================+=================================================+
+|instanceId               |String            |instanceId                                       |
++-------------------------+------------------+-------------------------------------------------+
+|modelInfo                |Object            |Content of modelInfo object.                     |
++-------------------------+------------------+-------------------------------------------------+
+
+RequestParameters Object
+
++-------------------------+------------------+-------------------------------------------------+
+|Attribute                |Content           |Description                                      |
++=========================+==================+=================================================+
+|userParams               |Array             |The product family Id.                           |
++-------------------------+------------------+-------------------------------------------------+
+
+UserParams Object
+
++-------------------------+------------------+-------------------------------------------------+
+|Attribute                |Content           |Description                                      |
++=========================+==================+=================================================+
+|name                     |String            |Tag name of attribute                            |
++-------------------------+------------------+-------------------------------------------------+
+|value                    |String            |Value of the tag                                 |
++-------------------------+------------------+-------------------------------------------------+
+
+.. _delete_cnf:
+
+Delete CNF
+++++++++++
+
++--------------------+-----------------------------------------------------------------------------------------------------+
+|Interface Definition|Description                                                                                          |
++====================+=====================================================================================================+
+|URI                 |/onap/so/infra/serviceInstantiation/v7/serviceInstances/{serviceInstanceId}/cnfs/{cnfInstanceId}     |
++--------------------+-----------------------------------------------------------------------------------------------------+
+|Operation Type      |DELETE                                                                                               |
++--------------------+-----------------------------------------------------------------------------------------------------+
+|Content-Type        |application/json                                                                                     |
++--------------------+-----------------------------------------------------------------------------------------------------+
+
+Request Headers:
+
++-------------------+---------+-----------------------------------------------------------------------------------------+
+|Header Name        |Required |Description                                                                              |
++===================+=========+=========================================================================================+
+|Authorization      |Y        |Base64 encoded username:password                                                         |
++-------------------+---------+-----------------------------------------------------------------------------------------+
+
+Request Body:
+
++----------------+---------+-----------+--------------------------+-------------------------------------------+
+|Attribute       |Qualifier|Cardinality|Content                   |Description                                |
++================+=========+===========+==========================+===========================================+
+|requestDetails  |M        |1          |requestDetails Object     |Content of requestDetails object.          |
++----------------+---------+-----------+--------------------------+-------------------------------------------+
+
+RequestDetails Object
+
++---------------------+-------------------------+-------------------------------------------------+
+|Attribute            |Content                  |Description                                      |
++=====================+=========================+=================================================+
+|modelInfo            |modelInfo Object         |Content of modelInfo object.                     |
++---------------------+-------------------------+-------------------------------------------------+
+|cloudConfiguration   |cloudConfiguration Object|Content of cloudConfiguration object.            |
++---------------------+-------------------------+-------------------------------------------------+
+|requestInfo          |requestInfo Object       |Content of requestInfo object.                   |
++---------------------+-------------------------+-------------------------------------------------+
+|requestParameters    |requestParameters Object |Content of requestParameters object.             |
++---------------------+-------------------------+-------------------------------------------------+
+
+ModelInfo Object
+
++-------------------------+------------------+-------------------------------------------------+
+|Attribute                |Content           |Description                                      |
++=========================+==================+=================================================+
+|modelType                |String            |Type of model                                    |
++-------------------------+------------------+-------------------------------------------------+
+|modelName                |String            |Name of the Model                                |
++-------------------------+------------------+-------------------------------------------------+
+|modelVersionId           |String            |The Model version id                             |
++-------------------------+------------------+-------------------------------------------------+
+|modelInvariantId         |String            |The Model Invariant Id.                          |
++-------------------------+------------------+-------------------------------------------------+
+|modelVersion             |String            |Version of the model                             |
++-------------------------+------------------+-------------------------------------------------+
+|modelCustomizationName   |String            |The Model Customization name                     |
++-------------------------+------------------+-------------------------------------------------+
+|modelCustomizationId     |String            |The Model Customization Id.                      |
++-------------------------+------------------+-------------------------------------------------+
+
+CloudConfiguration Object
+
++-------------------------+------------------+-------------------------------------------------+
+|Attribute                |Content           |Description                                      |
++=========================+==================+=================================================+
+|lcpCloudRegionId         |String            |CloudRegion Id (in A&AI)                         |
++-------------------------+------------------+-------------------------------------------------+
+|tenantId                 |String            |Name of the Subscriber                           |
++-------------------------+------------------+-------------------------------------------------+
+|cloudOwner               |String            |Name of the cloud owner                          |
++-------------------------+------------------+-------------------------------------------------+
+
+RequestInfo Object
+
++-------------------------+------------------+-------------------------------------------------+
+|Attribute                |Content           |Description                                      |
++=========================+==================+=================================================+
+|source                   |String            |source of the request                            |
++-------------------------+------------------+-------------------------------------------------+
+|requestId                |String            |request Id                                       |
++-------------------------+------------------+-------------------------------------------------+
+
+RequestParameters Object
+
++-------------------------+------------------+-------------------------------------------------+
+|Attribute                |Content           |Description                                      |
++=========================+==================+=================================================+
+|UserParams               |Array             |The product family Id.                           |
++-------------------------+------------------+-------------------------------------------------+
+
+UserParams Object
+
++-------------------------+------------------+-------------------------------------------------+
+|Attribute                |Content           |Description                                      |
++=========================+==================+=================================================+
+|name                     |String            |Tag name of attribute                            |
++-------------------------+------------------+-------------------------------------------------+
+|value                    |String            |Value of the tag                                 |
++-------------------------+------------------+-------------------------------------------------+
+
 .. _get_orchestration_request_by_id:
 
 GET Orchestration Request
diff --git a/docs/developer_info/ASD_Overview.rst b/docs/developer_info/ASD_Overview.rst
new file mode 100644 (file)
index 0000000..70d9b6d
--- /dev/null
@@ -0,0 +1,44 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. Copyright 2017 Huawei Technologies Co., Ltd.
+
+ASD Architecture
+=======================
+
+ASD Overview
+-------------
+Application Service Descriptor (ASD) is a deployment descriptor for cloud native application/functions. It seeks to provide deployment using the minimum information needed by the orchestrator.
+The CSAR package adheres to ETSI SOL004.
+ASD minimizes duplication whilst leveraging the management capabilities of the Kubernets platfor. It provides a clear separation between high level orchestration and cloud native application deployment.
+
+ASD Architecture Overview
+---------------------------
+
+The following diagram depicts the ASD high-level architecture:
+
+CreateVfModuleVolumeInfraV1 is a main process flow.
+
+.. image:: ../images/asd_architecture.png
+
+
+ASD Onboarding
+---------------------
+
+The following diagram depicts the ASD onboarding to ONAP SDC:
+
+.. image:: ../images/asd_onboarding.png
+
+ASD Orchestration by ONAP SO
+---------------------------------
+
+The following diagram depicts the ASD Orchestration by ONAP SO:
+
+.. image:: ../images/asd_orchestration.png
+
+SO CNFM
+-----------
+
+The following diagram depicts the SO CNFM, an SO Plug-in component:
+
+.. image:: ../images/asd_cnfm.png
+
index 3f72b4b..1c65f83 100644 (file)
@@ -32,4 +32,5 @@ SO Developer Information
    ETSI_CSIT_NFVO_VNFM.rst
    ETSI_NFVO_Network_Service_LCM_Setup_Guide.rst
    ETSI_VNF_LCM_Setup_Guide.rst
+   ASD_Overview.rst
    FAQs.rst
diff --git a/docs/images/asd_architecture.png b/docs/images/asd_architecture.png
new file mode 100644 (file)
index 0000000..2fad790
Binary files /dev/null and b/docs/images/asd_architecture.png differ
diff --git a/docs/images/asd_cnfm.png b/docs/images/asd_cnfm.png
new file mode 100644 (file)
index 0000000..da19ad5
Binary files /dev/null and b/docs/images/asd_cnfm.png differ
diff --git a/docs/images/asd_onboarding.png b/docs/images/asd_onboarding.png
new file mode 100644 (file)
index 0000000..297eff4
Binary files /dev/null and b/docs/images/asd_onboarding.png differ
diff --git a/docs/images/asd_orchestration.png b/docs/images/asd_orchestration.png
new file mode 100644 (file)
index 0000000..0cfcb1c
Binary files /dev/null and b/docs/images/asd_orchestration.png differ
index 9b45c81..833cd33 100644 (file)
@@ -12,7 +12,7 @@ deps =
 commands =
     sphinx-build -W -q -b html -n -d {envtmpdir}/doctrees ./ {toxinidir}/_build/html
     echo "Generated docs available in {toxinidir}/_build/html"
-whitelist_externals =
+allowlist_externals =
     echo
     git
     sh
@@ -25,7 +25,7 @@ deps =
     -chttps://git.onap.org/doc/plain/etc/upper-constraints.onap.txt
 commands = echo "Link Checking not enforced"
 #commands = sphinx-build -W -q -b linkcheck -d {envtmpdir}/doctrees ./ {toxinidir}/_build/linkcheck
-whitelist_externals = echo
+allowlist_externals = echo
 
 [testenv:docs-spellcheck]
 basepython = python3.8