Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Deck
idDesignTime


Data Dictionary Creation --

How to add a data dictionary. 

Script that was used to add all the data dictionary that is need for vDNS

Blueprint Package Creation – Should start with the non enriched blueprint. 

How to Enrich , Save, Publish, Deploy and Download

Please reference the Modeling Concept URL to understand the CBA Package. 

There are workarounds that we need. — "Naming" - resource-assignment content in the definition file and that needs to be removed. 

The UI currently doesn't throw exception on failures so please have the inspection network view enable. 

bash-4.4$ curl -k --silent -X POST --header 'Content-Type: application/json' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authoment: TEST' -d '{ "policyName": "SDNC_Policy.Config_MS_ONAP_VNF_NAMING_TIMESTAMP.1.xml"}' 'https://pdp:8081/pdp/api/getConfig' [{"policyConfigMessage":"Config Retrieved! ","policyConfigStatus":"CONFIG_RETRIEVED","type":"JSON","config":"{\"service\":\"SDNC-GenerateName\",\"version\":\"CSIT\",\"content\":{\"policy-instance-name\":\"ONAP_VNF _NAMING_TIMESTAMP\",\"naming-models\":[{\"naming-properties\":[{\"property-name\":\"AIC_CLOUD_REGION\"},{\"property-name\":\"CONSTANT\",\"property-value\":\"ONAP-NF\"},{\"property-name\":\"TIMESTAMP\"},{\"property-value\":\"_\",\"property-name\":\"DELIMITER\"}],\"naming-type\":\"VNF\",\"naming-recipe\":\"AIC_CLOUD_REGION|DELIMITER|CONSTANT|DELIMITER|TIMESTAMP\"},{\"naming-properties\":[{\"property-name\":\"VNF_NAME\"},{\"property-name\":\"SEQUENCE\",\"increment-sequence\":{\"max\":\"zzz\",\"scope\":\"ENTIRETY\",\"start-value\":\"001\",\"length\":\"3\",\"increment\":\"1\",\"sequence-type\":\"alpha-numeric\"}},{\"property-name\":\"NFC_NAMING_CODE\"},{\"property-value\":\"_\",\"property-name\":\"DELIMITER\"}],\"naming-type\":\"VNFC\",\"naming-recipe\":\"VNF_NAME|DELIMITER|NFC_NAMING_CODE|DELIMITER|SEQUENCE\"},

The CBA and Data Dictionary are explained in the Modelling Concepts page here: Modeling Concepts


CDS will require a main components to be able to build a service instance, Following the instructions below in the following order to onboard the Data Dictionary and CBA Package. 

  1. Load the latest DD.json and run the . dd.sh script in rancher. 
  2. Once this is step is completed, access the CDS UI and upload the latest CBA and execute in the following sequence:
    1. Enrich
    2. Save
    3. Deploy
    4. if upload via SDC: Click on Download and use the Enriched CBA Package to onboard via SDC Artifact Deployment for the VF Model.


Card
labelCDS Modeling & Distribution
Card
labelPolicy Naming Modeling

Within the E2E automation provided by CDS, we have a capability that can generate a name for a component, like a VNF or VF Module.

This capability runs with ONAP POLICY component, where POLICY has the rule that will be used to generate the names

The override.yaml file above has an option "preload=true", that will tell the POLICY component to run the push_policies.sh script as the POLICY PAP pod starts up, which will in turn create the Naming Policy and push it.

To check that the naming policy is created and pushed OK, we can run the commands below.

Code Block
languagebash
titleSDNC Naming policy

Controller Blueprint Package

[Deploy the cba using CDS UI by following the steps of Enrich, Save, Deploy]

Data Dictionary 

vDNS CBA.zip

Image Added


NOTE:

  • Within a single Controller Blueprint Archive (CBA)  package for VLB CDS shall support both E2E Automation and Scale Out Use Case.
  • The CBA Package is a portable cloud package that enables
    • Declarative cloud provisioning
    • Configuration Life-cycle Management of VNF/PNF/CNF. 
    • Customization to meet service providers/vendor/business needs. 
dd UPDATES IN cds ui with processor-db1.zip



In ONAP Dublin release, those components need to be built manually.

After building the CBA and Data Dictionary, we can use the CDS UI to add the Data Dictionary to CDS, and to deploy the CBA in CDS.

First, we logon to CDS UI using the url http://<onap_ip_address>:30497.

Choose Controller Blueprint, select file, and update Metadata, the NEXT.

Notes:

  • The UI currently doesn't throw exception on failures so please have the inspection network view enable. 


Image Added

Image Added

Enrich, Save, Publish, and finally Deploy, and you should receive a success notification.

Image Added


In ONAP Dublin release, if an error happens, there's no error shown to the user, so we need to show the browser console, in order to see if there's an error while deploying the CBA.

Notes:

  • There are workarounds that we need. — "Naming" - resource-assignment content in the definition file and that needs to be removed. 


If we want to add one Dictionary item, we start in the CDS UI home screen, select New Resource.

Image Added

Paste the Dictionary Definition JSON string and submit.

Image Added

If we want to add many Dictionary items, we can create a JSON list of all the dictionary items and save them in a file called dd.json, and then run the dd.sh script below in the same folder where dd.json is located.

Code Block
languagebash
titlePush Data Dictionaries
#!/bin/bash
# Author: abdelmuhaimen.seaudi@orange.com
# Usage: name this script as dd.sh, and put the data dictionaries list JSON as dd.json in the same directory, and run dd.sh
# dd.sh will read the dictionary list JSON from dd.json, will output to stdout the number of Defintions found, and will start pushing them one by one to CDS DB
l=`jq '.|length' dd.json`
echo "Found $l Dictionary Definition Entries"
i=0
while [ $i -lt $l ]
do
  echo "i = $i"
  d=`jq ".[$i]" dd.json`
  echo $d
  #REPLACE <cds-ui> with the IP Address of ONAP
  curl 'http://<cds-ui>:30497/resourcedictionary/save' -v -X POST -H 'Content-type: application/json' -d"$d"
  sleep 1
  echo -e "\n*****************************************\n"
  i=$(( $i + 1 ))
done




Card
labelPolicy Naming Modeling

Within the E2E automation provided by CDS, we have a capability that can generate a name for a component, like a VNF or VF Module.

This capability runs with ONAP POLICY component, where POLICY has the rule that will be used to generate the names

The override.yaml file above has an option "preload=true", that will tell the POLICY component to run the push_policies.sh script as the POLICY PAP pod starts up, which will in turn create the Naming Policy and push it.

To check that the naming policy is created and pushed OK, we can run the commands below.

Code Block
languagebash
titleSDNC Naming policy
bash-4.4$ curl -k --silent -X POST \
--header 'Content-Type: application/json' \
--header 'ClientAuth: cHl0aG9uOnRlc3Q=' \
--header 'Authoment: TEST' \
-d '{ "policyName": "SDNC_Policy.Config_MS_ONAP_VNF_NAMING_TIMESTAMP.1.xml"}' \
'https://pdp:8081/pdp/api/getConfig'     


[{"policyConfigMessage":"Config Retrieved! ",
"policyConfigStatus":"CONFIG_RETRIEVED",
"type":"JSON",
"config":"{\"service\":\"SDNC-GenerateName\",\"version\":\"CSIT\",\"content\":{\"policy-instance-name\":\"ONAP_VNF_NAMING_TIMESTAMP\",\"naming-models\":[{\"naming-properties\":[{\"property-name\":\"VNFAIC_CLOUD_NAMEREGION\"},{\"property-valuename\":\"_CONSTANT\",\"property-namevalue\":\"DELIMITERONAP-NF\"},{\"property-name\":\"VF_MODULE_LABELTIMESTAMP\"},{\"property-namevalue\":\"VF_MODULE_TYPE\"},{\"property-name\":\"SEQUENCEDELIMITER\"}],\"incrementnaming-sequencetype\":{\"max\":\"zzzVNF\",\"scopenaming-recipe\":\"PRECEEDINGAIC_CLOUD_REGION|DELIMITER|CONSTANT|DELIMITER|TIMESTAMP\"},{\"startnaming-valueproperties\":[{\"01property-name\":\"VNF_NAME\"},{\"lengthproperty-name\":\"3SEQUENCE\",\"increment-sequence\":{\"max\"1:\"zzz\",\"sequence-typescope\":\"alpha-numericENTIRETY\"}}],\"namingstart-typevalue\":\"VF-MODULE001\",\"naming-recipelength\":\"VNF_NAME|DELIMITER|VF_MODULE_LABEL|DELIMITER|VF_MODULE_TYPE|DELIMITER|SEQUENCE\"}]}}","policyName":"SDNC_Policy.Config_MS_ONAP_VNF_NAMING_TIMESTAMP.1.xml","policyType":"MicroService","policyVersion":"1","matchingConditions":{"ECOMPName":"SDNC","ONAPName":"SDNC","service":"SDNC-GenerateName"},"responseAttributes":{},"property":null}]

In case the policy is missing, we can manually create and push the SDNC Naming policy using the commands below.

Code Block
languagebash
titleCreate and Push SDNC Naming Policy
#########################################Create SDNC Naming Policies##########################################
echo "Create Generic SDNC Naming Policy for VNF"
sleep 2
echo "Create SDNC vFW Naming Policy"
curl -k -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
    "configBody": "{ \"service\": \"SDNC-GenerateName\", \"version\": \"CSIT\", \"content\": { \"policy-instance-name\": \"ONAP_VNF _NAMING_TIMESTAMP\", \"naming-models\": [ { \"naming-properties\": [ { \"property-name\": \"AIC_CLOUD_REGION\" }, { \"property-name\": \"CONSTANT\",\"property-value\": \"ONAP-NF\"}, { \"property-name\": \"TIMESTAMP\" }, { \"property-value\": \"_\", \"property-name\": \"DELIMITER\" } ], \"naming-type\": \"VNF\", \"naming-recipe\": \"AIC_CLOUD_REGION|DELIMITER|CONSTANT|DELIMITER|TIMESTAMP\" }, { \"naming-properties\": [ { \"property-name\": \"VNF_NAME\" }, { \"property-name\": \"SEQUENCE\", \"increment-sequence\": { \"max\": \"zzz\", \"scope\": \"ENTIRETY\", \"start-value\": \"001\", \"length\": \"3\", \"increment\": \"1\", \"sequence-type\": \"alpha-numeric\" } }, { \"property-name\": \"NFC_NAMING_CODE\" }, { \"property-value\": \"_\", \"property-name\": \"DELIMITER\" } ], \"naming-type\": \"VNFC\", \"naming-recipe\": \"VNF_NAME|DELIMITER|NFC_NAMING_CODE|DELIMITER|SEQUENCE\" }, { \"naming-properties\": [ { \"property-name\": \"VNF_NAME\" }, { \"property-value\": \"_\",\"3\",\"increment\":\"1\",\"sequence-type\":\"alpha-numeric\"}},{\"property-name\":\"NFC_NAMING_CODE\"},{\"property-value\":\"_\",\"property-name\":\"DELIMITER\"}],\"naming-type\":\"VNFC\",\"naming-recipe\":\"VNF_NAME|DELIMITER|NFC_NAMING_CODE|DELIMITER|SEQUENCE\"},{\"naming-properties\":[{\"property-name\":\"VNF_NAME\"},{\"property-value\":\"_\",\"property-name\":\"DELIMITER\"},{\"property-name\":\"VF_MODULE_LABEL\"},{\"property-name\":\"VF_MODULE_TYPE\"},{\"property-name\":\"SEQUENCE\",\"increment-sequence\":{\"max\":\"zzz\",\"scope\":\"PRECEEDING\",\"start-value\":\"01\",\"length\":\"3\",\"increment\":\"1\",\"sequence-type\":\"alpha-numeric\"}}],\"naming-type\":\"VF-MODULE\",\"naming-recipe\":\"VNF_NAME|DELIMITER|VF_MODULE_LABEL|DELIMITER|VF_MODULE_TYPE|DELIMITER|SEQUENCE\"}]}}",
"policyName":"SDNC_Policy.Config_MS_ONAP_VNF_NAMING_TIMESTAMP.1.xml",
"policyType":"MicroService",
"policyVersion":"1",
"matchingConditions":{"ECOMPName":"SDNC","ONAPName":"SDNC","service":"SDNC-GenerateName"},
"responseAttributes":{},
"property":null}]


In case the policy is missing, we can manually create and push the SDNC Naming policy using the commands below.

Code Block
languagebash
titleCreate and Push SDNC Naming Policy
#########################################Create SDNC Naming Policies##########################################
echo "Create Generic SDNC Naming Policy for VNF"
sleep 2
echo "Create SDNC vFW Naming Policy"
curl -k -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
    "configBody": "{ \"service\": \"SDNC-GenerateName\", \"version\": \"CSIT\", \"content\": { \"policy-instance-name\": \"ONAP_VNF_NAMING_TIMESTAMP\", \"naming-models\": [ { \"naming-properties\": [ { \"property-name\": \"DELIMITERAIC_CLOUD_REGION\" }, { \"property-name\": \"VF_MODULE_LABELCONSTANT\" }, { \"property-namevalue\": \"VF_MODULE_TYPEONAP-NF\" }, { \"property-name\": \"SEQUENCETIMESTAMP\", \"increment-sequence\": }, { \"maxproperty-value\": \"zzz_\", \"scopeproperty-name\": \"PRECEEDINGDELIMITER\", \"start-value\": \"01\" } ], \"lengthnaming-type\": \"3VNF\", \"incrementnaming-recipe\": \"1AIC_CLOUD_REGION|DELIMITER|CONSTANT|DELIMITER|TIMESTAMP\" }, { \"sequencenaming-typeproperties\": [ { \"alphaproperty-numericname\" }: \"VNF_NAME\" }, ],{ \"namingproperty-typename\": \"VF-MODULESEQUENCE\", \"namingincrement-recipesequence\": { \"VNF_NAME|DELIMITER|VF_MODULE_LABEL|DELIMITER|VF_MODULE_TYPE|DELIMITER|SEQUENCE\" } ] } }",
    "policyName": "SDNC_Policy.ONAP_VNF_NAMING_TIMESTAMP",
    "policyConfigType": "MicroService",
    "onapName": "SDNC",
    "riskLevel": "4",
    "riskType": "test",
    "guard": "false",
    "priority": "4",
    "description": "ONAP_VNF_NAMING_TIMESTAMP"
}' 'https://pdp:8081/pdp/api/createPolicy'
#########################################Pushing SDNC Naming Policies##########################################
echo "Pushing SDNC Naming Policies"
sleep 2
echo "pushPolicy : PUT : SDNC_Policy.ONAP_VNF_NAMING_TIMESTAMP"
curl -k -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
  "pdpGroup": "default",
  "policyName": "SDNC_Policy.ONAP_VNF_NAMING_TIMESTAMP",
  "policyType": "MicroService"
}' 'https://pdp:8081/pdp/api/pushPolicy'
Card
labelSDC Modeling & Distribution

Introduction

The purpose of this article is to describe the vDNS use case distribution in Dublin Release.

What's new

The Controller Blueprint Archive CBA is a zip archive that hosts all the service model related artifacts (heat templates, blueprints, vtl templates, workflows, etc ... ) that can enable ONAP to assign and instantiate the service. 

Controller Design Studio CDS should receive a notification when a new service model is distributed by SDC, and then CDS will download the CBA CSAR file and deploy it.

Distribution of a VNF CBA

Part 1 - Create VF Model and Certify

Login to ONAP as Designer (cs0008/demo123456!), and click on SDC application.

Image Removed

Using a sample CBA vDNS.zip, we start by adding a VF in SDC.

Image Removed
max\": \"zzz\", \"scope\": \"ENTIRETY\", \"start-value\": \"001\", \"length\": \"3\", \"increment\": \"1\", \"sequence-type\": \"alpha-numeric\" } }, { \"property-name\": \"NFC_NAMING_CODE\" }, { \"property-value\": \"_\", \"property-name\": \"DELIMITER\" } ], \"naming-type\": \"VNFC\", \"naming-recipe\": \"VNF_NAME|DELIMITER|NFC_NAMING_CODE|DELIMITER|SEQUENCE\" }, { \"naming-properties\": [ { \"property-name\": \"VNF_NAME\" }, { \"property-value\": \"_\", \"property-name\": \"DELIMITER\" }, { \"property-name\": \"VF_MODULE_LABEL\" }, { \"property-name\": \"VF_MODULE_TYPE\" }, { \"property-name\": \"SEQUENCE\", \"increment-sequence\": { \"max\": \"zzz\", \"scope\": \"PRECEEDING\", \"start-value\": \"01\", \"length\": \"3\", \"increment\": \"1\", \"sequence-type\": \"alpha-numeric\" } } ], \"naming-type\": \"VF-MODULE\", \"naming-recipe\": \"VNF_NAME|DELIMITER|VF_MODULE_LABEL|DELIMITER|VF_MODULE_TYPE|DELIMITER|SEQUENCE\" } ] } }",
    "policyName": "SDNC_Policy.ONAP_VNF_NAMING_TIMESTAMP",
    "policyConfigType": "MicroService",
    "onapName": "SDNC",
    "riskLevel": "4",
    "riskType": "test",
    "guard": "false",
    "priority": "4",
    "description": "ONAP_VNF_NAMING_TIMESTAMP"
}' 'https://pdp:8081/pdp/api/createPolicy'
#########################################Pushing SDNC Naming Policies##########################################
echo "Pushing SDNC Naming Policies"
sleep 2
echo "pushPolicy : PUT : SDNC_Policy.ONAP_VNF_NAMING_TIMESTAMP"
curl -k -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
  "pdpGroup": "default",
  "policyName": "SDNC_Policy.ONAP_VNF_NAMING_TIMESTAMP",
  "policyType": "MicroService"
}' 'https://pdp:8081/pdp/api/pushPolicy'






Card
labelSDC Modeling & Distribution

Introduction

The purpose of this article is to describe the vDNS use case distribution in Dublin Release.

What's new

The Controller Blueprint Archive CBA is a zip archive that hosts all the service model related artifacts (heat templates, blueprints, vtl templates, workflows, etc ... ) that can enable ONAP to assign and instantiate the service. 

Controller Design Studio CDS should receive a notification when a new service model is distributed by SDC, and then CDS will download the CBA CSAR file and deploy it.

Distribution of a VNF CBA 

Login to ONAP as Designer (cs0008/demo123456!), and click on SDC application.

Part 1 - Create a New Virtual Software Product

In SDC, select the ONBOARD button > click on Create New VSP button > fill in the Name, Vendor, Category , Description and select the Network Package for on-boarding procedure as illustrated below.

Once the forum is populated for New Software Product click on Create

Image Added

In Software Product Details Screen in SDC, the users must populate the license information and the software product. For the vLB CDS use case the software product for the heat package is obtain from the following link: vLB CDS HEAT PACKAGE.

Once the for License and Software Product Attachment is populated then click on the Submit button. 

Image Added

Part 2 - Create VF Model and Certify


Image Added


Click on the Import VSP from the HOME page. 

From the list of VSP, select the Specific vLB CDS VSP for IMPORT to create the VF in SDC.

Image Added


We fill in the VF name and description, etc ..., and click "Create".


Click on "Deployment Artifact", then "Add other arifacts", and select the vDNS.zip CBA.


Check the artifact is uploaded OK, and click on "Certify".


Add a comment, and submit, you should receive a success notification, and we are back in SDC Home Screen.

Part

2

3 - Create Service Model, Certify and Distribute

Now, let's create a new service model, and add the newly created VF (including CBA artifact) to the new service model. Click on "Add Service"


Add service name and description, and click on "Create". Choose Instantiation Type: Macro.


Click on "Composition", and drag the VF we created from the palette on the left onto the canvas in the middle.Then, click on "Submit for Testing"in the middle.



Click on Properties Assignments, then click on the service name, e.g. "CDS-VNF-TEST" from the right bar.

Type "sdnc" in the filter box, and add the sdnc_model_name, sdnc_model_version, and sdnc_artifact_version, and click "Save".



Type "skip" in the filter box, and set "skip post instantiation" to FALSE, then click "Save".

Then, click on "Submit for Testing".


Login as Tester (jm0007/demo123456!) and accept the new service.


Login as Governor (gv0001/demo123456!) and approve for distribution.


Login as Operator (op0001/demo123456!) and click on "Distribute".


Click on "Monitor" to check the progress of the distribution, and check that all ONAP components were notified, and downloaded the artifacts, and deployed OK.

Image Removed

Add Steps on Manual Check for SO, SDNC, Policy 

SO > Catalogdb table for the VNF Customaization resources 

SDNC > SDNCTL table for the VF MODULE [sdnc model name, version, artifact-name] and VF MODULE Model [vf-module-label]

Policy > for the SDNC Naming has been deployedcheck the progress of the distribution, and check that all ONAP components were notified, and downloaded the artifacts, and deployed OK.

Image Added