...
Summary of the video demo:
We start by distributing Create A&AI Customer by executing below script:
Code Block | ||||
---|---|---|---|---|
| ||||
./demo-k8s.sh onap init |
Distributing the vFW service model using the robot script.
Code Block | ||||
---|---|---|---|---|
| ||||
./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:
| |||||||
| |||||||
| |||||||
|
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 | ||||
---|---|---|---|---|
| ||||
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# |
...
Code Block |
---|
Log into the SO mariadb container. use catalogdb; ALTER TABLE vnf_resource_customization MODIFY IF EXISTS RESOURCE_INPUT varchar(20000); ALTER TABLE network_resource_customization MODIFY IF EXISTS RESOURCE_INPUT varchar(20000); ALTER TABLE allotted_resource_customization MODIFY IF EXISTS RESOURCE_INPUT varchar(20000); in so mariadb pod (username/password root/password). |
- 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 |
- If instantiation fails, and complains about the naming service not available, check that the SDN SDNC Naming policies are active. You can check by policy API or go to POLICY from PORTAL and check the 3 Naming policies shown in the screenshot below exist.
...