Versions Compared

Key

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

...

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.

Image Added

  • 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

...




Environment preparation for the Postman Collection:

...

kubectl -n onap expose pod onap-so-so-catalog-db-adapter-56d9cc554b-9fszd --type=LoadBalancer
Code Block
titleOutput of CDS #2 - SO Service VNFs
collapsetrue
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
                }
            ]
        }
    ]
}
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


Code Block
titleOutput of CDS #3 - SO Service Assign & Activate
collapsetrue
POST /onap/so/infra/serviceInstantiation/v7/serviceInstances HTTP/1.1

RESPONSE:
{
    "requestReferences": {
        "requestId": "fa31259b-8f50-4b8b-b15d-be0eb36ba358",
        "instanceId": "70d003f2-8378-43f5-b8cd-eede99cbae5d"
    }
}

...