diff options
Diffstat (limited to 'docs/development/devtools')
-rw-r--r-- | docs/development/devtools/clamp-sdc.rst | 117 | ||||
-rw-r--r-- | docs/development/devtools/devtools.rst | 2 | ||||
-rw-r--r-- | docs/development/devtools/images/sdc_compose_acm.png | bin | 0 -> 162680 bytes | |||
-rw-r--r-- | docs/development/devtools/images/sdc_create_acm.png | bin | 0 -> 112121 bytes | |||
-rw-r--r-- | docs/development/devtools/images/sdc_create_element.png | bin | 0 -> 116027 bytes | |||
-rw-r--r-- | docs/development/devtools/images/sdc_create_participant.png | bin | 0 -> 97458 bytes | |||
-rw-r--r-- | docs/development/devtools/images/sdc_distribute.png | bin | 0 -> 114485 bytes | |||
-rw-r--r-- | docs/development/devtools/images/sdc_element_props.png | bin | 0 -> 128859 bytes | |||
-rw-r--r-- | docs/development/devtools/images/sdc_tosca.png | bin | 0 -> 97452 bytes | |||
-rw-r--r-- | docs/development/devtools/json/pd_config.json | 145 |
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 Binary files differnew file mode 100644 index 00000000..3bdc9305 --- /dev/null +++ b/docs/development/devtools/images/sdc_compose_acm.png diff --git a/docs/development/devtools/images/sdc_create_acm.png b/docs/development/devtools/images/sdc_create_acm.png Binary files differnew file mode 100644 index 00000000..f60492bf --- /dev/null +++ b/docs/development/devtools/images/sdc_create_acm.png diff --git a/docs/development/devtools/images/sdc_create_element.png b/docs/development/devtools/images/sdc_create_element.png Binary files differnew file mode 100644 index 00000000..42d28b3e --- /dev/null +++ b/docs/development/devtools/images/sdc_create_element.png diff --git a/docs/development/devtools/images/sdc_create_participant.png b/docs/development/devtools/images/sdc_create_participant.png Binary files differnew file mode 100644 index 00000000..4178127f --- /dev/null +++ b/docs/development/devtools/images/sdc_create_participant.png diff --git a/docs/development/devtools/images/sdc_distribute.png b/docs/development/devtools/images/sdc_distribute.png Binary files differnew file mode 100644 index 00000000..cffffaed --- /dev/null +++ b/docs/development/devtools/images/sdc_distribute.png diff --git a/docs/development/devtools/images/sdc_element_props.png b/docs/development/devtools/images/sdc_element_props.png Binary files differnew file mode 100644 index 00000000..f2227465 --- /dev/null +++ b/docs/development/devtools/images/sdc_element_props.png diff --git a/docs/development/devtools/images/sdc_tosca.png b/docs/development/devtools/images/sdc_tosca.png Binary files differnew file mode 100644 index 00000000..eb881581 --- /dev/null +++ b/docs/development/devtools/images/sdc_tosca.png 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" + } + } + } + } +} |