Introduction:
This video shows the vFW use case being instantiated on Casablanca.
Video Demo of the vFW instantiation:
Summary of the video demo:
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 Rest call will give us the service model details like UUID, Invariant UUID, and Service Model Name.
- 2nd REST 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.
View file | ||||
---|---|---|---|---|
|
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-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.
Results of the Postman Rest calls:
You can find below the output of the calls shown in the video:
...
Code Block | ||||
---|---|---|---|---|
| ||||
GET /infraActiveRequests/fa31259b-8f50-4b8b-b15d-be0eb36ba358 RESPONSE: { "clientRequestId": null, "action": "createInstance", "requestStatus": "COMPLETE", "statusMessage": "Macro-Service-createInstance request was executed correctly.", "progress": 100, "startTime": "2019-04-25T21:30:34.000+0000", "endTime": "2019-04-25T21:41:32.000+0000", "source": "VID", "vnfId": "2ed048f4-9d1f-46da-8d25-1ce8e1a7a2dd", "vnfName": null, "vnfType": null, "serviceType": null, "aicNodeClli": null, "tenantId": "6270eaa820934710960682c506115453", "provStatus": null, "vnfParams": null, "vnfOutputs": null, "requestBody": "{\r\n \"requestDetails\": {\r\n \"subscriberInfo\": {\r\n \"globalSubscriberId\": \"Demonstration\"\r\n },\r\n \"requestInfo\": {\r\n \"suppressRollback\": false,\r\n \"productFamilyId\": \"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\",\r\n \"requestorId\": \"adt\",\r\n \"instanceName\": \"vFWNG_CDS_13\",\r\n \"source\": \"VID\"\r\n },\r\n \"cloudConfiguration\": {\r\n \"lcpCloudRegionId\": \"fr1\",\r\n \"tenantId\": \"6270eaa820934710960682c506115453\"\r\n },\r\n \"requestParameters\": {\r\n \"subscriptionServiceType\": \"vFW\",\r\n \"userParams\": [\r\n {\r\n \"Homing_Solution\": \"none\"\r\n },\r\n {\r\n \"service\": {\r\n \"instanceParams\": [\r\n \r\n ],\r\n \"instanceName\": \"vFWNG_CDS_13\",\r\n \"resources\": {\r\n \"vnfs\": [\r\n {\r\n \"modelInfo\": {\r\n \"modelName\": \"40d322e4-c53d-4aa4-a6a2\",\r\n \"modelVersionId\": \"1525769d-e709-4d19-9bff-3e481a79e658\",\r\n \"modelInvariantUuid\": \"55054e28-b7fc-43d8-bcc9-d5aa9a2c1800\",\r\n \"modelVersion\": \"1.0\",\r\n \"modelCustomizationId\": \"72c6b040-7132-49c7-99f6-4e9b85f19695\",\r\n \"modelInstanceName\": \"40d322e4-c53d-4aa4-a6a2 0\"\r\n },\r\n \"cloudConfiguration\": {\r\n \"lcpCloudRegionId\": \"fr1\",\r\n \"tenantId\": \"6270eaa820934710960682c506115453\"\r\n },\r\n \"platform\": {\r\n \"platformName\": \"test\"\r\n },\r\n \"lineOfBusiness\": {\r\n \"lineOfBusinessName\": \"someValue\"\r\n },\r\n \"productFamilyId\": \"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\",\r\n \"instanceName\": \"40d322e4-c53d-4aa4-a6a2 0\",\r\n \"instanceParams\": [\r\n {\r\n \"onap_private_net_id\": \"olc-private\",\r\n \"onap_private_subnet_id\": \"olc-private\",\r\n \"pub_key\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCwj7uJMyKiP1ogEsZv5kKDFw9mFNhxI+woR3Tuv8vjfNnqdB1GfSnvTFyNbdpyNdR8BlljkiZ1SlwJLEkvPk0HpOoSVVek/QmBeGC7mxyRcpMB2cNQwjXGfsVrforddXOnOkj+zx1aNdVGMc52Js3pex8B/L00H68kOcwP26BI1o77Uh+AxjOkIEGs+wlWNUmXabLDCH8l8IJk9mCTruKEN9KNj4NRZcaNC+XOz42SyHV9RT3N6efp31FqKzo8Ko63QirvKEEBSOAf9VlJ7mFMrGIGH37AP3JJfFYEHDdOA3N64ZpJLa39y25EWwGZNlWpO/GW5bNjTME04dl4eRyd\",\r\n \"image_name\": \"Ubuntu 14.04\",\r\n \"flavor_name\":\"s1.cw.small-1\"\r\n }\r\n ],\r\n \"vfModules\": [\r\n {\r\n \"modelInfo\": {\r\n \"modelName\": \"40d322e4C53d4aa4A6a2..vpg..module-2\",\r\n \"modelVersionId\": \"755a7ebd-a776-4e2c-a5c6-7e979e9e5861\",\r\n \"modelInvariantUuid\": \"02a5571e-1150-48d7-be90-810e00760da9\",\r\n \"modelVersion\": \"1\",\r\n \"modelCustomizationId\": \"4ada321d-647e-4754-a820-41d69494259a\"\r\n },\r\n \"instanceName\": \"40d322e4C53d4aa4A6a2..vpg..module-2\",\r\n \"instanceParams\": [\r\n {\r\n \"sec_group\": \"olc-open\",\r\n \"public_net_id\": \"olc-net\"\r\n }\r\n ]\r\n },\r\n {\r\n \"modelInfo\": {\r\n \"modelName\": \"40d322e4C53d4aa4A6a2..vsn..module-1\",\r\n \"modelVersionId\": \"746aeb94-1e10-4b15-87e0-f74318a29e17\",\r\n \"modelInvariantUuid\": \"48e8b4bb-e852-415e-894f-c4fdbbc6f98c\",\r\n \"modelVersion\": \"1\",\r\n \"modelCustomizationId\": \"8547725d-4b3b-4411-a1b4-ed9591e291d6\"\r\n },\r\n \"instanceName\": \"40d322e4C53d4aa4A6a2..vsn..module-1\",\r\n \"instanceParams\": [\r\n {\r\n \"sec_group\": \"olc-open\",\r\n \"public_net_id\": \"olc-net\"\r\n }\r\n ]\r\n },\r\n {\r\n \"modelInfo\": {\r\n \"modelName\": \"40d322e4C53d4aa4A6a2..vfw..module-3\",\r\n \"modelVersionId\": \"a1a1692a-10ba-4122-8340-ac9fe85adfa7\",\r\n \"modelInvariantUuid\": \"601dded4-2943-4dc9-b508-82469e5863d9\",\r\n \"modelVersion\": \"1\",\r\n \"modelCustomizationId\": \"a42bc6e5-2705-4138-9e7f-01612988df6e\"\r\n },\r\n \"instanceName\": \"40d322e4C53d4aa4A6a2..vfw..module-3\",\r\n \"instanceParams\": [\r\n {\r\n \"sec_group\": \"olc-open\",\r\n \"public_net_id\": \"olc-net\"\r\n }\r\n ]\r\n },\r\n {\r\n \"modelInfo\": {\r\n \"modelName\": \"40d322e4C53d4aa4A6a2..base_template..module-0\",\r\n \"modelVersionId\": \"1e9b4714-c243-4fef-a1b0-c6cfe608056e\",\r\n \"modelInvariantUuid\": \"90b61d87-6ffd-47a1-bf61-a2c7a8efa422\",\r\n \"modelVersion\": \"1\",\r\n \"modelCustomizationId\": \"db04f50d-6957-4d8f-9c78-586aec9462aa\"\r\n },\r\n \"instanceName\": \"40d322e4C53d4aa4A6a2..base_template..module-0\",\r\n \"instanceParams\": [\r\n {\r\n \"sec_group\": \"olc-open\",\r\n \"public_net_id\": \"olc-net\"\r\n }\r\n ]\r\n }\r\n ]\r\n }\r\n ]\r\n },\r\n \"modelInfo\": {\r\n \"modelVersion\": \"1.0\",\r\n \"modelVersionId\": \"fe0c7a4f-739f-4cdb-bdfe-2fb06eddf15c\",\r\n \"modelInvariantId\": \"3b8ac8f1-7792-49fd-9d3e-45811a594d17\",\r\n \"modelName\": \"vFWNG 2019-04-25 21:22:\",\r\n \"modelType\": \"service\"\r\n }\r\n }\r\n }\r\n ],\r\n \"aLaCarte\": false\r\n },\r\n \"project\": {\r\n \"projectName\": \"Project-Demonstration\"\r\n },\r\n \"owningEntity\": {\r\n \"owningEntityId\": \"24ef5425-bec4-4fa3-ab03-c0ecf4eaac96\",\r\n \"owningEntityName\": \"OE-Demonstration\"\r\n },\r\n \"modelInfo\": {\r\n \"modelVersion\": \"1.0\",\r\n \"modelVersionId\": \"fe0c7a4f-739f-4cdb-bdfe-2fb06eddf15c\",\r\n \"modelInvariantId\": \"3b8ac8f1-7792-49fd-9d3e-45811a594d17\",\r\n \"modelName\": \"vFWNG 2019-04-25 21:22:\",\r\n \"modelType\": \"service\"\r\n }\r\n }\r\n}", "responseBody": null, "lastModifiedBy": "WorkflowActionBB", "modifyTime": "2019-04-25T21:41:32.000+0000", "requestType": null, "volumeGroupId": null, "volumeGroupName": null, "vfModuleId": null, "vfModuleName": null, "vfModuleModelName": null, "aaiServiceId": null, "aicCloudRegion": "fr1", "callBackUrl": null, "correlator": null, "serviceInstanceId": "70d003f2-8378-43f5-b8cd-eede99cbae5d", "serviceInstanceName": "vFWNG_CDS_13", "requestScope": "service", "requestAction": "createInstance", "networkId": null, "networkName": null, "networkType": null, "requestorId": "adt", "configurationId": null, "configurationName": null, "operationalEnvId": null, "operationalEnvName": null, "requestURI": "fa31259b-8f50-4b8b-b15d-be0eb36ba358", "_links": { "self": { "href": "http://84.39.35.230:30086/infraActiveRequests/fa31259b-8f50-4b8b-b15d-be0eb36ba358" }, "infraActiveRequests": { "href": "http://84.39.35.230:30086/infraActiveRequests/fa31259b-8f50-4b8b-b15d-be0eb36ba358" } } } |
Postman Collection:
View file | ||||
---|---|---|---|---|
|
Notes:
- If the robot script for service model distribution fails, it might be due to a problem in the database, check the JIRA for solution, basically we need to increase the size of the database field.
- 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.
...