Update CLAMP-SDC pairwise test documentation 52/129152/1
authorSirisha_Manchikanti <sirisha.manchikanti@est.tech>
Thu, 5 May 2022 16:19:45 +0000 (17:19 +0100)
committerSirisha_Manchikanti <sirisha.manchikanti@est.tech>
Thu, 5 May 2022 16:26:21 +0000 (17:26 +0100)
Issue-ID: POLICY-3741
Signed-off-by: Sirisha_Manchikanti <sirisha.manchikanti@est.tech>
Change-Id: I1bb9987100a4122238087bb1443def67025a82c2

docs/development/devtools/clamp-sdc.rst [new file with mode: 0644]
docs/development/devtools/devtools.rst
docs/development/devtools/images/sdc_compose_acm.png [new file with mode: 0644]
docs/development/devtools/images/sdc_create_acm.png [new file with mode: 0644]
docs/development/devtools/images/sdc_create_element.png [new file with mode: 0644]
docs/development/devtools/images/sdc_create_participant.png [new file with mode: 0644]
docs/development/devtools/images/sdc_distribute.png [new file with mode: 0644]
docs/development/devtools/images/sdc_element_props.png [new file with mode: 0644]
docs/development/devtools/images/sdc_tosca.png [new file with mode: 0644]
docs/development/devtools/json/pd_config.json [new file with mode: 0644]

diff --git a/docs/development/devtools/clamp-sdc.rst b/docs/development/devtools/clamp-sdc.rst
new file mode 100644 (file)
index 0000000..b125d21
--- /dev/null
@@ -0,0 +1,117 @@
+.. This work is licensed under a
+.. Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+.. _clamp-pairwise-testing-label:
+
+.. toctree::
+   :maxdepth: 2
+
+CLAMP <-> SDC
+~~~~~~~~~~~~~~
+
+The pairwise testing is executed against a default ONAP installation in the OOM.
+It briefly states the procedure to design an Automation Composition starting from service creation,
+adding the required ONAP component artifacts, policy and properties in the composition phase of SDC
+and finally distributing it to the CLAMP for Commissioning.
+SDC provides an interface for distributing the modeled services to the run time components.
+
+The instructions below will enable to design an Automation Composition. There are different phases to the design:
+
+Step 1: Design an automation composition template and associate it to a Service, the template represents the theoretical flow of the ACM.
+
+Step 2: Generate a deployment artifact that can be ingested by the Policy Framework
+
+Step 3: Distribute the automation composition to CLAMP, the csar is distributed to CLAMP over Dmaap
+
+Step 4: Policy Distribution will internally call Automation Composition Commissioning rest endpoint
+
+Step 5: Service Template is commissioned in CLAMP, and can be followed by Instantiation and state changes.
+
+General Setup
+*************
+
+The kubernetes installation allocated all policy components across multiple worker node VMs.
+The worker VM hosting the policy components has the following spec:
+
+- 16GB RAM
+- 8 VCPU
+- 160GB Ephemeral Disk
+
+The ONAP components used during the pairwise tests are:
+
+- CLAMP automation composition runtime, policy participant, kubernetes participant.
+- SDC for running SDC components.
+- DMaaP for the communication between Automation Composition runtime and participants.
+- Policy Framework components for instantiation and commissioning of automation compositions.
+
+Testing procedure
+*****************
+
+The test set focused on the following use cases:
+
+- Design of participants and automation composition elements
+- Design of Automation Composition template including the above designed participants and automation composition element templates.
+- Distribution of designed template along with other artifacts as a csar to policy-distribution
+- Commissioning of template in automation composition runtime.
+
+Configuration changes
+*********************
+
+Following are certain configuration changes required/cross-checked
+1. policy-distribution configuration should include toscaAutomationCompositionDecoderConfiguration
+   File: kubernetes/policy/components/policy-distribution/resources/config/config.json
+
+   - Automation composition decoders and forwards should be present. Reference: `Sample Configuration <json/pd_config.json>`
+
+Design of participants and automation composition elements:
+----------------------------------------------------------
+Different participants and automation composition elements are created in SDC dashboard with the models available for automation composition.
+
+SDC provides a graphical interface for onboarding/designing resources (such as VNFs, PNFs, CNFs) and designing services composed of such resources
+
+- Create as many participants as needed to present in the automation composition
+- Select VF, provide name of the participant. Choose Model as AUTOMATION COMPOSTIION and Category as Participant.
+
+  .. image:: images/sdc_create_participant.png
+
+- Create as many automation composition elements as needed to present in the automation composition
+- Select VF, provide name of the automation composition element. Choose Model as AUTOMATION COMPOSTIION and Category as AutomationComposition Element.
+
+  .. image:: images/sdc_create_element.png
+
+- Add properties as required for an automation composition element
+- Add any properties where input is needed in Inputs tab.
+
+  .. image:: images/sdc_element_props.png
+
+- Create an automation composition
+- Select Service, provide name of the automation composition. Choose Model as AUTOMATION COMPOSTIION and Category as AutomationComposition.
+
+  .. image:: images/sdc_create_acm.png
+
+- SDC Composition tab
+- Drag and Drop the previously created participants and automation composition elements into the Compistion pane.
+- Drag and Drop the policies that needs to be added to the service template.
+
+  .. image:: images/sdc_compose_acm.png
+
+- For a pre validation, Tosca artifacts can be downloaded and verified
+
+  .. image:: images/sdc_tosca.png
+
+- From SDC dashboard, perform a distribution of the automation composition
+
+  .. image:: images/sdc_distribute.png
+
+- An Automation Composition is created by commissioning a Tosca template with Automation Composition definitions.
+This commissioned tosca service template can be further used from Policy-GUI for instantiating the Automation Composition with the state "UNINITIALISED".
+
+- Instantiate the commissioned Automation Composition definitions from the Policy Gui under 'Instantiation Management'.
+
+  .. image:: images/create-instance.png
+
+-  Verification: The automation composition is created with default state "UNINITIALISED" without errors.
+
+  .. image:: images/cl-instantiation.png
+
index 5c84fd0..37fba6c 100644 (file)
@@ -334,6 +334,8 @@ the Policy Framework works in a full ONAP deployment.
 
    policy-cds.rst
 
+   clamp-sdc.rst
+
 ..
    api-pairwise.rst
 
diff --git a/docs/development/devtools/images/sdc_compose_acm.png b/docs/development/devtools/images/sdc_compose_acm.png
new file mode 100644 (file)
index 0000000..3bdc930
Binary files /dev/null and b/docs/development/devtools/images/sdc_compose_acm.png differ
diff --git a/docs/development/devtools/images/sdc_create_acm.png b/docs/development/devtools/images/sdc_create_acm.png
new file mode 100644 (file)
index 0000000..f60492b
Binary files /dev/null and b/docs/development/devtools/images/sdc_create_acm.png differ
diff --git a/docs/development/devtools/images/sdc_create_element.png b/docs/development/devtools/images/sdc_create_element.png
new file mode 100644 (file)
index 0000000..42d28b3
Binary files /dev/null and b/docs/development/devtools/images/sdc_create_element.png differ
diff --git a/docs/development/devtools/images/sdc_create_participant.png b/docs/development/devtools/images/sdc_create_participant.png
new file mode 100644 (file)
index 0000000..4178127
Binary files /dev/null and b/docs/development/devtools/images/sdc_create_participant.png differ
diff --git a/docs/development/devtools/images/sdc_distribute.png b/docs/development/devtools/images/sdc_distribute.png
new file mode 100644 (file)
index 0000000..cffffae
Binary files /dev/null and b/docs/development/devtools/images/sdc_distribute.png differ
diff --git a/docs/development/devtools/images/sdc_element_props.png b/docs/development/devtools/images/sdc_element_props.png
new file mode 100644 (file)
index 0000000..f222746
Binary files /dev/null and b/docs/development/devtools/images/sdc_element_props.png differ
diff --git a/docs/development/devtools/images/sdc_tosca.png b/docs/development/devtools/images/sdc_tosca.png
new file mode 100644 (file)
index 0000000..eb88158
Binary files /dev/null and b/docs/development/devtools/images/sdc_tosca.png differ
diff --git a/docs/development/devtools/json/pd_config.json b/docs/development/devtools/json/pd_config.json
new file mode 100644 (file)
index 0000000..fd35cb3
--- /dev/null
@@ -0,0 +1,145 @@
+{{/*
+#  ============LICENSE_START=======================================================
+#   Copyright (C) 2018 Ericsson. All rights reserved.
+#   Modifications Copyright (C) 2020 AT&T Intellectual Property.
+#   Modifications Copyright (C) 2021 Bell Canada. All rights reserved.
+#  ================================================================================
+#  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=========================================================
+*/}}
+{
+    "name":"SDCDistributionGroup",
+    "restServerParameters":{
+        "host":"0.0.0.0",
+        "port":6969,
+        "userName":"${RESTSERVER_USER}",
+        "password":"${RESTSERVER_PASSWORD}",
+        "https":true,
+        "prometheus": true
+    },
+    "receptionHandlerParameters":{
+        "SDCReceptionHandler":{
+            "receptionHandlerType":"SDC",
+            "receptionHandlerClassName":"org.onap.policy.distribution.reception.handling.sdc.SdcReceptionHandler",
+            "receptionHandlerConfigurationName":"sdcConfiguration",
+            "pluginHandlerParameters":{
+                "policyDecoders":{
+                    "ToscaPolicyDecoder":{
+                        "decoderType":"ToscaPolicyDecoder",
+                        "decoderClassName":"org.onap.policy.distribution.reception.decoding.policy.file.PolicyDecoderFileInCsarToPolicy",
+                        "decoderConfigurationName": "toscaPolicyDecoderConfiguration"
+                    },
+                   "ToscaAutomationCompositionDecoder": {
+                        "decoderType": "ToscaAutomationCompositionDecoder",
+                        "decoderClassName": "org.onap.policy.distribution.reception.decoding.policy.file.AutomationCompositionDecoderFileInCsar",
+                        "decoderConfigurationName": "toscaAutomationCompositionDecoderConfiguration"
+                    }
+                },
+                "policyForwarders":{
+                    "LifeCycleApiForwarder":{
+                        "forwarderType":"LifeCycleAPI",
+                        "forwarderClassName":"org.onap.policy.distribution.forwarding.lifecycle.api.LifecycleApiPolicyForwarder",
+                        "forwarderConfigurationName": "lifecycleApiConfiguration"
+                    },
+                   "LifeCycleApiAutomationCompositionForwarder": {
+                        "forwarderType": "LifeCycleAutomationCompositionAPI",
+                        "forwarderClassName": "org.onap.policy.distribution.forwarding.lifecycle.api.LifecycleApiAutomationCompositionForwarder",
+                        "forwarderConfigurationName": "lifecycleApiAutomationCompositionConfiguration"
+                    }
+                }
+            }
+        }
+    },
+    "receptionHandlerConfigurationParameters":{
+        "sdcConfiguration":{
+            "parameterClassName":"org.onap.policy.distribution.reception.handling.sdc.SdcReceptionHandlerConfigurationParameterGroup",
+            "parameters":{
+                "asdcAddress": "sdc-be:8443",
+                "messageBusAddress": [
+                    "message-router.{{ include "common.namespace" . }}"
+                 ],
+                "user": "${SDCBE_USER}",
+                "password": "${SDCBE_PASSWORD}",
+                "pollingInterval":20,
+                "pollingTimeout":30,
+                "consumerId": "policy-id",
+                "artifactTypes": [
+                    "TOSCA_CSAR",
+                    "HEAT"
+                ],
+                "consumerGroup": "policy-group",
+                "environmentName": "AUTO",
+                "keyStorePath": "null",
+                "keyStorePassword": "null",
+                "activeserverTlsAuth": false,
+                "isFilterinEmptyResources": true,
+                "isUseHttpsWithDmaap": true
+            }
+        }
+    },
+    "policyDecoderConfigurationParameters":{
+        "toscaPolicyDecoderConfiguration":{
+            "parameterClassName":"org.onap.policy.distribution.reception.decoding.policy.file.PolicyDecoderFileInCsarToPolicyParameterGroup",
+            "parameters":{
+                "policyFileName": "tosca_policy",
+                "policyTypeFileName": "tosca_policy_type"
+            }
+        },
+       "toscaAutomationCompositionDecoderConfiguration": {
+            "parameterClassName": "org.onap.policy.distribution.reception.decoding.policy.file.AutomationCompositionDecoderFileInCsarParameterGroup",
+            "parameters": {
+                "automationCompositionType": "acm"
+            }
+        }
+    },
+    "policyForwarderConfigurationParameters":{
+        "lifecycleApiConfiguration":{
+            "parameterClassName":"org.onap.policy.distribution.forwarding.lifecycle.api.LifecycleApiForwarderParameters",
+            "parameters":{
+                "apiParameters": {
+                    "clientName": "policy-api",
+                    "hostname": "policy-api",
+                    "port": 6969,
+                    "userName": "${API_USER}",
+                    "password": "${API_PASSWORD}",
+                    "useHttps": true
+                },
+                "papParameters": {
+                    "clientName": "policy-pap",
+                    "hostname": "policy-pap",
+                    "port": 6969,
+                    "userName": "${PAP_USER}",
+                    "password": "${PAP_PASSWORD}",
+                    "useHttps": true
+                },
+                "deployPolicies": true
+             }
+        },
+       ,
+        "lifecycleApiAutomationCompositionConfiguration": {
+            "parameterClassName": "org.onap.policy.distribution.forwarding.lifecycle.api.LifecycleApiAutomationCompositionForwarderParameters",
+            "parameters": {
+                "automationCompositionRuntimeParameters": {
+                    "clientName": "policy-clamp-runtime-acm",
+                    "hostname": "policy-clamp-runtime-acm",
+                    "port": 6969,
+                    "useHttps": true,
+                    "userName": "runtimeUser",
+                    "password": "zb!XztG34"
+                }
+            }
+        }
+    }
+}