summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docs/development/devtools/clamp-sdc.rst117
-rw-r--r--docs/development/devtools/devtools.rst2
-rw-r--r--docs/development/devtools/images/sdc_compose_acm.pngbin0 -> 162680 bytes
-rw-r--r--docs/development/devtools/images/sdc_create_acm.pngbin0 -> 112121 bytes
-rw-r--r--docs/development/devtools/images/sdc_create_element.pngbin0 -> 116027 bytes
-rw-r--r--docs/development/devtools/images/sdc_create_participant.pngbin0 -> 97458 bytes
-rw-r--r--docs/development/devtools/images/sdc_distribute.pngbin0 -> 114485 bytes
-rw-r--r--docs/development/devtools/images/sdc_element_props.pngbin0 -> 128859 bytes
-rw-r--r--docs/development/devtools/images/sdc_tosca.pngbin0 -> 97452 bytes
-rw-r--r--docs/development/devtools/json/pd_config.json145
10 files changed, 264 insertions, 0 deletions
diff --git a/docs/development/devtools/clamp-sdc.rst b/docs/development/devtools/clamp-sdc.rst
new file mode 100644
index 00000000..b125d216
--- /dev/null
+++ b/docs/development/devtools/clamp-sdc.rst
@@ -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
+
diff --git a/docs/development/devtools/devtools.rst b/docs/development/devtools/devtools.rst
index 5c84fd02..37fba6cc 100644
--- a/docs/development/devtools/devtools.rst
+++ b/docs/development/devtools/devtools.rst
@@ -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
index 00000000..3bdc9305
--- /dev/null
+++ b/docs/development/devtools/images/sdc_compose_acm.png
Binary files 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
index 00000000..f60492bf
--- /dev/null
+++ b/docs/development/devtools/images/sdc_create_acm.png
Binary files 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
index 00000000..42d28b3e
--- /dev/null
+++ b/docs/development/devtools/images/sdc_create_element.png
Binary files 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
index 00000000..4178127f
--- /dev/null
+++ b/docs/development/devtools/images/sdc_create_participant.png
Binary files differ
diff --git a/docs/development/devtools/images/sdc_distribute.png b/docs/development/devtools/images/sdc_distribute.png
new file mode 100644
index 00000000..cffffaed
--- /dev/null
+++ b/docs/development/devtools/images/sdc_distribute.png
Binary files 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
index 00000000..f2227465
--- /dev/null
+++ b/docs/development/devtools/images/sdc_element_props.png
Binary files differ
diff --git a/docs/development/devtools/images/sdc_tosca.png b/docs/development/devtools/images/sdc_tosca.png
new file mode 100644
index 00000000..eb881581
--- /dev/null
+++ b/docs/development/devtools/images/sdc_tosca.png
Binary files differ
diff --git a/docs/development/devtools/json/pd_config.json b/docs/development/devtools/json/pd_config.json
new file mode 100644
index 00000000..fd35cb35
--- /dev/null
+++ b/docs/development/devtools/json/pd_config.json
@@ -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"
+ }
+ }
+ }
+ }
+}