- Created by Abdelmuhaimen Seaudi on Apr 25, 2019
You are viewing an old version of this page. View the current version.
Compare with Current View Page History
Version 1 Next »
This video shows the vFW use case being instantiated on Casablanca.
We start by distributing the vFW service model using the robot script.
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.
In order to run the collection correctly, we need to create 3 environment variables in Postman:
cds-service-mode: 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.
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#
GET /sdc/v1/catalog/services HTTP/1.1 RESPONSE: { "uuid": "fe0c7a4f-739f-4cdb-bdfe-2fb06eddf15c", "invariantUUID": "3b8ac8f1-7792-49fd-9d3e-45811a594d17", "name": "vFWNG 2019-04-25 21:22:", "version": "1.0", "toscaModelURL": "/sdc/v1/catalog/services/fe0c7a4f-739f-4cdb-bdfe-2fb06eddf15c/toscaModel", "category": "Network L1-3", "lifecycleState": "CERTIFIED", "lastUpdaterUserId": "jm0007", "distributionStatus": "DISTRIBUTED" }
GET /ecomp/mso/catalog/v2/serviceVnfs?serviceModelName=vFWNG 2019-04-25 21:22: HTTP/1.1 RESPONSE: { "serviceVnfs": [ { "modelInfo": { "modelName": "40d322e4-c53d-4aa4-a6a2", "modelUuid": "1525769d-e709-4d19-9bff-3e481a79e658", "modelInvariantUuid": "55054e28-b7fc-43d8-bcc9-d5aa9a2c1800", "modelVersion": "1.0", "modelCustomizationUuid": "72c6b040-7132-49c7-99f6-4e9b85f19695", "modelInstanceName": "40d322e4-c53d-4aa4-a6a2 0" }, "toscaNodeType": "org.openecomp.resource.vf.40d322e4C53d4aa4A6a2", "nfFunction": "ONAP-FIREWALL", "nfType": "FIREWALL", "nfRole": "vFW", "nfNamingCode": "vfw", "multiStageDesign": "false", "resourceInput": "{\"vf_module_id\":\"vFirewallCL\",\"nf_function\":\"ONAP-FIREWALL\",\"vfw_private_ip_1\":\"192.168.20.100\",\"public_net_id\":\"PUT THE PUBLIC NETWORK ID HERE\",\"unprotected_private_subnet_id\":\"zdfw1fwl01_unprotected_sub\",\"vfw_private_ip_0\":\"192.168.10.100\",\"onap_private_subnet_id\":\"PUT THE ONAP PRIVATE NETWORK NAME HERE\",\"vfw_private_ip_2\":\"10.0.100.1\",\"sec_group\":\"PUT THE ONAP SECURITY GROUP HERE\",\"nf_type\":\"FIREWALL\",\"vfw_name_0\":\"zdfw1fwl01fwl01\",\"nexus_artifact_repo\":\"https://nexus.onap.org\",\"onap_private_net_cidr\":\"10.0.0.0/16\",\"image_name\":\"PUT THE VM IMAGE NAME HERE (UBUNTU 1404)\",\"flavor_name\":\"PUT THE VM FLAVOR NAME HERE (m1.medium suggested)\",\"dcae_collector_ip\":\"10.0.4.1\",\"vnf_id\":\"vSink_demo_app\",\"dcae_collector_port\":\"8081\",\"protected_private_subnet_id\":\"zdfw1fwl01_protected_sub\",\"vpg_name_0\":\"zdfw1fwl01pgn01\",\"vpg_private_ip_1\":\"10.0.100.2\",\"vsn_private_ip_0\":\"192.168.20.250\",\"vsn_private_ip_1\":\"10.0.100.3\",\"vpg_private_ip_0\":\"192.168.10.200\",\"protected_private_net_cidr\":\"192.168.20.0/24\",\"unprotected_private_net_cidr\":\"192.168.10.0/24\",\"nf_naming\":\"true\",\"vsn_name_0\":\"zdfw1fwl01snk01\",\"multi_stage_design\":\"false\",\"onap_private_net_id\":\"PUT THE ONAP PRIVATE NETWORK NAME HERE\",\"nf_naming_code\":\"vfw\",\"unprotected_private_net_id\":\"zdfw1fwl01_unprotected\",\"availability_zone_max_count\":\"1\",\"sdnc_artifact_name\":\"vFW_vNF_Artifact\",\"demo_artifacts_version\":\"1.3.0-SNAPSHOT\",\"pub_key\":\"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDQXYJYYi3/OUZXUiCYWdtc7K0m5C0dJKVxPG0eI8EWZrEHYdfYe6WoTSDJCww+1qlBSpA5ac/Ba4Wn9vh+lR1vtUKkyIC/nrYb90ReUd385Glkgzrfh5HdR5y5S2cL/Frh86lAn9r6b3iWTJD8wBwXFyoe1S2nMTOIuG4RPNvfmyCTYVh8XTCCE8HPvh3xv2r4egawG1P4Q4UDwk+hDBXThY2KS8M5/8EMyxHV0ImpLbpYCTBA6KYDIRtqmgS6iKyy8v2D1aSY5mc9J0T5t9S2Gv+VZQNWQDDKNFnxqYaAo1uEoq/i1q63XC5AD3ckXb2VT6dp23BQMdDfbHyUWfJN\",\"key_name\":\"vfw_key\",\"sdnc_model_version\":\"1.0.0\",\"nf_role\":\"vFW\",\"install_script_version\":\"1.3.0-SNAPSHOT\",\"protected_private_net_id\":\"zdfw1fwl01_protected\",\"sdnc_model_name\":\"vFW_spinup\",\"cloud_env\":\"openstack\"}", "vfModules": [ { "modelInfo": { "modelName": "40d322e4C53d4aa4A6a2..vpg..module-2", "modelUuid": "755a7ebd-a776-4e2c-a5c6-7e979e9e5861", "modelInvariantUuid": "02a5571e-1150-48d7-be90-810e00760da9", "modelVersion": "1", "modelCustomizationUuid": "4ada321d-647e-4754-a820-41d69494259a" }, "isBase": false, "vfModuleLabel": "vpg", "initialCount": 0, "hasVolumeGroup": false }, { "modelInfo": { "modelName": "40d322e4C53d4aa4A6a2..vsn..module-1", "modelUuid": "746aeb94-1e10-4b15-87e0-f74318a29e17", "modelInvariantUuid": "48e8b4bb-e852-415e-894f-c4fdbbc6f98c", "modelVersion": "1", "modelCustomizationUuid": "8547725d-4b3b-4411-a1b4-ed9591e291d6" }, "isBase": false, "vfModuleLabel": "vsn", "initialCount": 0, "hasVolumeGroup": false }, { "modelInfo": { "modelName": "40d322e4C53d4aa4A6a2..vfw..module-3", "modelUuid": "a1a1692a-10ba-4122-8340-ac9fe85adfa7", "modelInvariantUuid": "601dded4-2943-4dc9-b508-82469e5863d9", "modelVersion": "1", "modelCustomizationUuid": "a42bc6e5-2705-4138-9e7f-01612988df6e" }, "isBase": false, "vfModuleLabel": "vfw", "initialCount": 0, "hasVolumeGroup": false }, { "modelInfo": { "modelName": "40d322e4C53d4aa4A6a2..base_template..module-0", "modelUuid": "1e9b4714-c243-4fef-a1b0-c6cfe608056e", "modelInvariantUuid": "90b61d87-6ffd-47a1-bf61-a2c7a8efa422", "modelVersion": "1", "modelCustomizationUuid": "db04f50d-6957-4d8f-9c78-586aec9462aa" }, "isBase": true, "vfModuleLabel": "base_template", "initialCount": 1, "hasVolumeGroup": false } ] } ] }
POST /onap/so/infra/serviceInstantiation/v7/serviceInstances HTTP/1.1 RESPONSE: { "requestReferences": { "requestId": "fa31259b-8f50-4b8b-b15d-be0eb36ba358", "instanceId": "70d003f2-8378-43f5-b8cd-eede99cbae5d" } }
- No labels