Versions Compared

Key

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

Table of Contents

Introduction:

This video shows the vFW use case being instantiated on Casablanca.

...

Summary of the video demo:

We start by distributing Create A&AI Customer by executing below script: 

Code Block
languagebash
titleRobot Script Command
./demo-k8s.sh onap init


Distributing the vFW service model using the robot script.

Code Block
languagebash
titleRobot Script Command
./demo-k8s.sh onap distributeVFWNG


Then, we can use a Postman collection that has 3 Rest Calls and some code to automate the instantiation of the vFW use case:



  • 1st Rest call will give us the service model details like UUID, Invariant UUID, and Service Model Name.


  • 2nd Rest call will give us the VNF and VF Module details
.3rd Rest call will pull the details from the 1st and 2nd calls, and build the SO Service Assignment and Activation request
  • .
  • I added a 4th Rest call in the collection that will pull the request id from the 3rd call coming from SO, and will show us the status of the requets, so we can track the progress, and see if it completes successfully.
Note
titleSTEP CDS2: Expose SO Catalog API

SO Catalog DB is NOT exposed by default, you will need something like the command below to be able to send the CDS #2 rest call to SO Catalog and get back the service VNF model details.

Code Block
kubectl -n onap expose pod onap-so-so-catalog-db-adapter-56d9cc554b-9fszd --type=LoadBalancer



  • 3rd Rest call will pull the details from the 1st and 2nd calls, and build the SO Service Assignment and Activation request.
  • I added a 4th Rest call in the collection that will pull the request id from the 3rd call coming from SO, and will show us the status of the requets, so we can track the progress, and see if it completes successfully.

Environment preparation for the Postman Collection:

In order to run the Postman collection correctly, we need to create 3 environment variables in Postman:

  • cds-service-modemodel: This is the name of the service model distributed by the robot script, you can find it by running CDS #1 call once and looking for the VNF that has today's date and time.
    • cds-instance-name: This is the name of the service instance we will instantiate.
  • k8s: This is our ONAP Load Balancer IP Address.

...

You can find below the output of the calls shown in the video:

Setup A&AI Customer first by execution below robot script: 


Code Block
titleOutput of the robot script to distribute the vFW service model
collapsetrue
root@olc-rancher:~/oom/kubernetes/robot# ./demo-k8s.sh onap distributeVFWNG
Number of parameters:
2
KEY:
distributeVFWNG
++ kubectl --namespace onap get pods
++ sed 's/ .*//'
++ grep robot
+ POD=onap-robot-robot-5b5cbb95fc-8t4lv
+ ETEHOME=/var/opt/OpenECOMP_ETE
++ kubectl --namespace onap exec onap-robot-robot-5b5cbb95fc-8t4lv -- bash -c 'ls -1q /share/logs/ | wc -l'
+ export GLOBAL_BUILD_NUMBER=14
+ GLOBAL_BUILD_NUMBER=14
++ printf %04d 14
+ OUTPUT_FOLDER=0014_demo_distributeVFWNG
+ DISPLAY_NUM=104
+ VARIABLEFILES='-V /share/config/vm_properties.py -V /share/config/integration_robot_properties.py -V /share/config/integration_preload_parameters.py'
+ kubectl --namespace onap exec onap-robot-robot-5b5cbb95fc-8t4lv -- /var/opt/OpenECOMP_ETE/runTags.sh -V /share/config/vm_properties.py -V /share/config/integration_robot_properties.py -V /share/config/integration_preload_parameters.py -d /share/logs/0014_demo_distributeVFWNG -i distributeVFWNG --display 104
Starting Xvfb on display :104 with res 1280x1024x24
Executing robot tests at log level TRACE
==============================================================================
Testsuites                                                                    
==============================================================================
Testsuites.Demo :: Executes the VNF Orchestration Test cases including setu...
==============================================================================
Distribute vFWNG CDS Model :: Distribute vFWNG for CDS                resp=[{u'getInputValues': None, u'parentUniqueId': u'2cdcf5d2-e6e5-4a4d-a701-b15424093632', u'instanceUniqueId': None, u'schemaProperty': {u'getInputValues': None, u'parentUniqueId': None, u'instanceUniqueId': None, u'schemaProperty': None, u'schemaType': None, u'propertyId': None, u'defaultValue': None, u'label': None, u'version': None, u'uniqueId': None, u'hidden': False, u'type': None, u'annotations': None, u'empty': False, u'schema': None, u'status': None, u'description': None, u'inputId': None, u'inputPath': None, u'password': False, u'definition': True, u'name': None, u'required': False, u'value': None, u'immutable': False, u'getInputProperty': False, u'ownerId': None}, u'schemaType': None, u'propertyId': None, u'componentInstanceId': None, u'defaultValue': None, u'label': None, u'componentInstanceName': None, u'version': None, u'uniqueId': u'2cdcf5d2-e6e5-4a4d-a701-b15424093632.nfc_function', u'hidden': False, u'type': u'string', u'annotations': None, u'empty': False, u'schema': {u'derivedFrom': None, u'version': None, u'ownerId': None, u'property': {u'getInputValues': None, u'parentUniqueId': None, u'instanceUniqueId': None, u'schemaProperty': None, u'schemaType': None, u'propertyId': None, u'defaultValue': None, u'label': None, u'version': None, u'uniqueId': None, u'hidden': False, u'type': None, u'annotations': None, u'empty': False, u'schema': None, u'status': None, u'description': None, u'inputId': None, u'inputPath': None, u'password': False, u'definition': True, u'name': None, u'required': False, u'value': None, u'immutable': False, u'getInputProperty': False, u'ownerId': None}, u'type': None, u'properties': None, u'empty': False, u'constraints': None}, u'status': None, u'inputs': None, u'description': None, u'rules': None, u'valueUniqueUid': None, u'inputId': None, u'inputPath': None, u'path': None, u'password': False, u'properties': None, u'definition': False, u'name': u'nfc_function', u'required': False, u'value': u'vpg', u'immutable': False, u'getInputProperty': False, u'ownerId': u'2cdcf5d2-e6e5-4a4d-a701-b15424093632', u'constraints': None}, {u'getInputValues': None, u'parentUniqueId': u'2cdcf5d2-e6e5-4a4d-a701-b15424093632', u'instanceUniqueId': None, u'schemaProperty': {u'getInputValues': None, u'parentUniqueId': None, u'instanceUniqueId': None, u'schemaProperty': None, u'schemaType': None, u'propertyId': None, u'defaultValue': None, u'label': None, u'version': None, u'uniqueId': None, u'hidden': False, u'type': None, u'annotations': None, u'empty': False, u'schema': None, u'status': None, u'description': None, u'inputId': None, u'inputPath': None, u'password': False, u'definition': True, u'name': None, u'required': False, u'value': None, u'immutable': False, u'getInputProperty': False, u'ownerId': None}, u'schemaType': None, u'propertyId': None, u'componentInstanceId': None, u'defaultValue': None, u'label': None, u'componentInstanceName': None, u'version': None, u'uniqueId': u'2cdcf5d2-e6e5-4a4d-a701-b15424093632.nfc_naming', u'hidden': False, u'type': u'org.openecomp.datatypes.Naming', u'annotations': None, u'empty': False, u'schema': {u'derivedFrom': None, u'version': None, u'ownerId': None, u'property': {u'getInputValues': None, u'parentUniqueId': None, u'instanceUniqueId': None, u'schemaProperty': None, u'schemaType': None, u'propertyId': None, u'defaultValue': None, u'label': None, u'version': None, u'uniqueId': None, u'hidden': False, u'type': None, u'annotations': None, u'empty': False, u'schema': None, u'status': None, u'description': None, u'inputId': None, u'inputPath': None, u'password': False, u'definition': True, u'name': None, u'required': False, u'value': None, u'immutable': False, u'getInputProperty': False, u'ownerId': None}, u'type': None, u'properties': None, u'empty': False, u'constraints': None}, u'status': None, u'inputs': None, u'description': u'vfc naming', u'rules': None, u'valueUniqueUid': None, u'inputId': None, u'inputPath': None, u'path': None, u'password': False, u'properties': None, u'definition': False, u'name': u'nfc_naming', u'required': False, u'value': u'{"ecomp_generated_naming":true,"naming_policy":"SDNC_Policy.ONAP_VPG_NAMING_TIMESTAMP"}', u'immutable': False, u'getInputProperty': False, u'ownerId': u'2cdcf5d2-e6e5-4a4d-a701-b15424093632', u'constraints': None}]
resp=[{u'getInputValues': None, u'parentUniqueId': u'2cdcf5d2-e6e5-4a4d-a701-b15424093632', u'instanceUniqueId': None, u'schemaProperty': {u'getInputValues': None, u'parentUniqueId': None, u'instanceUniqueId': None, u'schemaProperty': None, u'schemaType': None, u'propertyId': None, u'defaultValue': None, u'label': None, u'version': None, u'uniqueId': None, u'hidden': False, u'type': None, u'annotations': None, u'empty': False, u'schema': None, u'status': None, u'description': None, u'inputId': None, u'inputPath': None, u'password': False, u'definition': True, u'name': None, u'required': False, u'value': None, u'immutable': False, u'getInputProperty': False, u'ownerId': None}, u'schemaType': None, u'propertyId': None, u'componentInstanceId': None, u'defaultValue': None, u'label': None, u'componentInstanceName': None, u'version': None, u'uniqueId': u'2cdcf5d2-e6e5-4a4d-a701-b15424093632.nfc_function', u'hidden': False, u'type': u'string', u'annotations': None, u'empty': False, u'schema': {u'derivedFrom': None, u'version': None, u'ownerId': None, u'property': {u'getInputValues': None, u'parentUniqueId': None, u'instanceUniqueId': None, u'schemaProperty': None, u'schemaType': None, u'propertyId': None, u'defaultValue': None, u'label': None, u'version': None, u'uniqueId': None, u'hidden': False, u'type': None, u'annotations': None, u'empty': False, u'schema': None, u'status': None, u'description': None, u'inputId': None, u'inputPath': None, u'password': False, u'definition': True, u'name': None, u'required': False, u'value': None, u'immutable': False, u'getInputProperty': False, u'ownerId': None}, u'type': None, u'properties': None, u'empty': False, u'constraints': None}, u'status': None, u'inputs': None, u'description': None, u'rules': None, u'valueUniqueUid': None, u'inputId': None, u'inputPath': None, u'path': None, u'password': False, u'properties': None, u'definition': False, u'name': u'nfc_function', u'required': False, u'value': u'vsn', u'immutable': False, u'getInputProperty': False, u'ownerId': u'2cdcf5d2-e6e5-4a4d-a701-b15424093632', u'constraints': None}, {u'getInputValues': None, u'parentUniqueId': u'2cdcf5d2-e6e5-4a4d-a701-b15424093632', u'instanceUniqueId': None, u'schemaProperty': {u'getInputValues': None, u'parentUniqueId': None, u'instanceUniqueId': None, u'schemaProperty': None, u'schemaType': None, u'propertyId': None, u'defaultValue': None, u'label': None, u'version': None, u'uniqueId': None, u'hidden': False, u'type': None, u'annotations': None, u'empty': False, u'schema': None, u'status': None, u'description': None, u'inputId': None, u'inputPath': None, u'password': False, u'definition': True, u'name': None, u'required': False, u'value': None, u'immutable': False, u'getInputProperty': False, u'ownerId': None}, u'schemaType': None, u'propertyId': None, u'componentInstanceId': None, u'defaultValue': None, u'label': None, u'componentInstanceName': None, u'version': None, u'uniqueId': u'2cdcf5d2-e6e5-4a4d-a701-b15424093632.nfc_naming', u'hidden': False, u'type': u'org.openecomp.datatypes.Naming', u'annotations': None, u'empty': False, u'schema': {u'derivedFrom': None, u'version': None, u'ownerId': None, u'property': {u'getInputValues': None, u'parentUniqueId': None, u'instanceUniqueId': None, u'schemaProperty': None, u'schemaType': None, u'propertyId': None, u'defaultValue': None, u'label': None, u'version': None, u'uniqueId': None, u'hidden': False, u'type': None, u'annotations': None, u'empty': False, u'schema': None, u'status': None, u'description': None, u'inputId': None, u'inputPath': None, u'password': False, u'definition': True, u'name': None, u'required': False, u'value': None, u'immutable': False, u'getInputProperty': False, u'ownerId': None}, u'type': None, u'properties': None, u'empty': False, u'constraints': None}, u'status': None, u'inputs': None, u'description': u'vfc naming', u'rules': None, u'valueUniqueUid': None, u'inputId': None, u'inputPath': None, u'path': None, u'password': False, u'properties': None, u'definition': False, u'name': u'nfc_naming', u'required': False, u'value': u'{"ecomp_generated_naming":true,"naming_policy":"SDNC_Policy.ONAP_VSN_NAMING_TIMESTAMP"}', u'immutable': False, u'getInputProperty': False, u'ownerId': u'2cdcf5d2-e6e5-4a4d-a701-b15424093632', u'constraints': None}]
resp=[{u'getInputValues': None, u'parentUniqueId': u'2cdcf5d2-e6e5-4a4d-a701-b15424093632', u'instanceUniqueId': None, u'schemaProperty': {u'getInputValues': None, u'parentUniqueId': None, u'instanceUniqueId': None, u'schemaProperty': None, u'schemaType': None, u'propertyId': None, u'defaultValue': None, u'label': None, u'version': None, u'uniqueId': None, u'hidden': False, u'type': None, u'annotations': None, u'empty': False, u'schema': None, u'status': None, u'description': None, u'inputId': None, u'inputPath': None, u'password': False, u'definition': True, u'name': None, u'required': False, u'value': None, u'immutable': False, u'getInputProperty': False, u'ownerId': None}, u'schemaType': None, u'propertyId': None, u'componentInstanceId': None, u'defaultValue': None, u'label': None, u'componentInstanceName': None, u'version': None, u'uniqueId': u'2cdcf5d2-e6e5-4a4d-a701-b15424093632.nfc_function', u'hidden': False, u'type': u'string', u'annotations': None, u'empty': False, u'schema': {u'derivedFrom': None, u'version': None, u'ownerId': None, u'property': {u'getInputValues': None, u'parentUniqueId': None, u'instanceUniqueId': None, u'schemaProperty': None, u'schemaType': None, u'propertyId': None, u'defaultValue': None, u'label': None, u'version': None, u'uniqueId': None, u'hidden': False, u'type': None, u'annotations': None, u'empty': False, u'schema': None, u'status': None, u'description': None, u'inputId': None, u'inputPath': None, u'password': False, u'definition': True, u'name': None, u'required': False, u'value': None, u'immutable': False, u'getInputProperty': False, u'ownerId': None}, u'type': None, u'properties': None, u'empty': False, u'constraints': None}, u'status': None, u'inputs': None, u'description': None, u'rules': None, u'valueUniqueUid': None, u'inputId': None, u'inputPath': None, u'path': None, u'password': False, u'properties': None, u'definition': False, u'name': u'nfc_function', u'required': False, u'value': u'vfw', u'immutable': False, u'getInputProperty': False, u'ownerId': u'2cdcf5d2-e6e5-4a4d-a701-b15424093632', u'constraints': None}, {u'getInputValues': None, u'parentUniqueId': u'2cdcf5d2-e6e5-4a4d-a701-b15424093632', u'instanceUniqueId': None, u'schemaProperty': {u'getInputValues': None, u'parentUniqueId': None, u'instanceUniqueId': None, u'schemaProperty': None, u'schemaType': None, u'propertyId': None, u'defaultValue': None, u'label': None, u'version': None, u'uniqueId': None, u'hidden': False, u'type': None, u'annotations': None, u'empty': False, u'schema': None, u'status': None, u'description': None, u'inputId': None, u'inputPath': None, u'password': False, u'definition': True, u'name': None, u'required': False, u'value': None, u'immutable': False, u'getInputProperty': False, u'ownerId': None}, u'schemaType': None, u'propertyId': None, u'componentInstanceId': None, u'defaultValue': None, u'label': None, u'componentInstanceName': None, u'version': None, u'uniqueId': u'2cdcf5d2-e6e5-4a4d-a701-b15424093632.nfc_naming', u'hidden': False, u'type': u'org.openecomp.datatypes.Naming', u'annotations': None, u'empty': False, u'schema': {u'derivedFrom': None, u'version': None, u'ownerId': None, u'property': {u'getInputValues': None, u'parentUniqueId': None, u'instanceUniqueId': None, u'schemaProperty': None, u'schemaType': None, u'propertyId': None, u'defaultValue': None, u'label': None, u'version': None, u'uniqueId': None, u'hidden': False, u'type': None, u'annotations': None, u'empty': False, u'schema': None, u'status': None, u'description': None, u'inputId': None, u'inputPath': None, u'password': False, u'definition': True, u'name': None, u'required': False, u'value': None, u'immutable': False, u'getInputProperty': False, u'ownerId': None}, u'type': None, u'properties': None, u'empty': False, u'constraints': None}, u'status': None, u'inputs': None, u'description': u'vfc naming', u'rules': None, u'valueUniqueUid': None, u'inputId': None, u'inputPath': None, u'path': None, u'password': False, u'properties': None, u'definition': False, u'name': u'nfc_naming', u'required': False, u'value': u'{"ecomp_generated_naming":true,"naming_policy":"SDNC_Policy.ONAP_VFW_NAMING_TIMESTAMP"}', u'immutable': False, u'getInputProperty': False, u'ownerId': u'2cdcf5d2-e6e5-4a4d-a701-b15424093632', u'constraints': None}]
Downloaded:service-Vfwng201904252122-csar.csar
| PASS |
------------------------------------------------------------------------------
Testsuites.Demo :: Executes the VNF Orchestration Test cases inclu... | PASS |
1 critical test, 1 passed, 0 failed
1 test total, 1 passed, 0 failed
==============================================================================
Testsuites                                                            | PASS |
1 critical test, 1 passed, 0 failed
1 test total, 1 passed, 0 failed
==============================================================================
Output:  /share/logs/0014_demo_distributeVFWNG/output.xml
Log:     /share/logs/0014_demo_distributeVFWNG/log.html
Report:  /share/logs/0014_demo_distributeVFWNG/report.html
root@olc-rancher:~/oom/kubernetes/robot# 

...