There are tasks to complete before we can use VID to instantiate the vIMS VNF.
- We need to Update AAI to indicate what account or accounts are permitted to use the vIMS service and in which cloud locations.
- We need to declare the service instance via VID
- We need to declare the VNF profile in SDNC and to set the preload data for the vIMS VNFs in SDNC
- We eventually finish VNF instantiation using VID
Note: We probably should separate out the SDNC Preload steps into a separate wiki page since its not the next step after updating AAI.
Updating AAI for account, service and location data
For the AAI updates for vFW and vLB we use "demo.sh init" to populate AAI with the data for the "Demonstration" customer but that only support vFW and vLB. For this tutorial we will use POSTMAN to update AAI via the equivalent PUT transaction that the robot testsuite uses but for a "Demonstration3" customer.
Note1: You will have to put your tenantid into the string :
<YOUR_TENANT_HERE>
Note2: We are setting up this account for vFW, vDNS and vIMS so we can use the customer in AAI for all three use cases.
Using POSTMAN to update AAI requires headers and basic authorization shown in the screen shot below.
The Basic authorization credentials are AAI/AAI
Create the vIMS Service in AAI
This will put vIMS in the drop down for new VNFs in VID.
Step 1: Query for the services
https://<AAI_IP>:8443/aai/v8/service-design-and-creation/services
will return the list of services by uuid,
{ "service": [ { "service-id": "4dd0f831-785f-455e-a0d9-b16726dd1a70", "service-description": "vLB", "resource-version": "1493657491" }, { "service-id": "891ab7fa-715f-4556-abd7-db575894e3e2", "service-description": "vFW", "resource-version": "1493657491" }, { "service-id": "c30d0f54-61e8-4475-b029-43fc3f7bebef", "service-description": "vVG", "resource-version": "1493844352" } ] }
Step 2: Generate a UUID
https://www.uuidgenerator.net/
pick the Version 4 UUID like: e8cb8968-5411-478b-906a-f28747de72cd
Step 3: PUT the vIMS Service (see headers in screen shot above)
{
"service-id": "e8cb8968-5411-478b-906a-f28747de72cd",
"service-description": "vIMS"
}
replace "e8cb8968-5411-478b-906a-f28747de72cd" with the UUID you generated
Step 4: Confirm with a GET to the services url.
This complete updating AAI for the service. Now we move to updating AAI for the Infrastructure Customer Account data.
Create the Account
This will put vFW, vLB and vIMS service types as valid services for the Demonstration3 customer in the RACKSPACE location "IAD"
Remember to put your tenant ID in place of <YOUR_TENANT_HERE>.
The URL for the PUT includes the global-customer-id so make sure they match.
https://<AAI_IP>:8443/aai/v8/business/customers/customer/Demonstration3
{ "global-customer-id": "Demonstration3", "subscriber-name": "Demonstration3", "subscriber-type": "INFRA", "service-subscriptions": { "service-subscription": [ { "service-type": "vFW", "relationship-list": { "relationship": [{ "related-to": "tenant", "relationship-data": [ {"relationship-key": "cloud-region.cloud-owner", "relationship-value": "Rackspace"}, {"relationship-key": "cloud-region.cloud-region-id", "relationship-value": "IAD"}, {"relationship-key": "tenant.tenant-id", "relationship-value": "<YOUR_TENANT_HERE>"} ] }] } }, { "service-type": "vLB", "relationship-list": { "relationship": [{ "related-to": "tenant", "relationship-data": [ {"relationship-key": "cloud-region.cloud-owner", "relationship-value": "Rackspace"}, {"relationship-key": "cloud-region.cloud-region-id", "relationship-value": "IAD"}, {"relationship-key": "tenant.tenant-id", "relationship-value": "<YOUR_TENANT_HERE>"} ] }] } }, { "service-type": "vIMS", "relationship-list": { "relationship": [{ "related-to": "tenant", "relationship-data": [ {"relationship-key": "cloud-region.cloud-owner", "relationship-value": "Rackspace"}, {"relationship-key": "cloud-region.cloud-region-id", "relationship-value": "IAD"}, {"relationship-key": "tenant.tenant-id", "relationship-value": "<YOUR_TENANT_HERE>"} ] }] } } ]} }
You should get back a 201 Created response code and be able to see the data in AAI via the matching GET (/aai/v8/business/customers/customer/Demonstration3)
This completes the AAI update.
Create VNF in VID
Follow steps 1 to 11 in : Tutorial vIMS: VID Instantiate the VNF
SDNC Updates
This step will be used after creating the VNF in the VID portal so that you have the data created during the service instance and VNF creation and just before the VF creation.
Need to have 5 parameters to set SDNC Preload (vnf-name and vnf-type are the critical ones)
generic-vnf-type":"vIMSSWProduct_test 1",
"service-type":"c8cba5cc-b4cd-4903-9f9a-80b50255d18b", (UPDATE_THIS_FOR_YOUR_INSTANCE)
"vnf-name":"vIMSVNFTEST1",
"vnf-type":"VimsswproductTest..base_clearwater..module-0"
"generic-vnf-name":"vIMSVNFTEST1",
SDNC Admin Portal
- Access the admin portal on <sdnc_ip>:8843/login.htm
- Login
- Click on VNF
- Fill in the VNF Profile
- VNF Type: VimsClearwater..base..clearwater..module-0
- Available Zone Count: 100
- Equipment Role: vIMS
- click Submit
- Should seed green box: Successfully added VNF Profile
- Go to the SDNC VNF-API section next
SDNC VNF-API
- Access <sdnc_ip>:8282/apidoc/explorer/index.html on the SDNC VM
- Click on VNF-API
- Scroll down to the POST /operations/VNF-API/preload-vnf-topology-operation
- Paste the preload-vnf-topology-clearwater.json data into the input box
- An example preload file is in gerrit here
- make sure to edit the values for "pub_key" and "service-type":
- {"vnf-parameter-name":"pub_key","vnf-parameter-value":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDQXYJYYi3/OUZXUiCYWdtc7K0m5C0dJKVxPG0eI8EWZrEHYdfYe6WoTSDJCww+1qlBSpA5ac/Ba4Wn9vh+lR1vtUKkyIC/nrYb90ReUd385Glkgzrfh5HdR5y5S2cL/Frh86lAn9r6b3iWTJD8wBwXFyoe1S2nMTOIuG4RPNvfmyCTYVh8XTCCE8HPvh3xv2r4egawG1P4Q4UDwk+hDBXThY2KS8M5/8EMyxHV0ImpLbpYCTBA6KYDIRtqmgS6iKyy8v2D1aSY5mc9J0T5t9S2Gv+VZQNWQDDKNFnxqYaAo1uEoq/i1q63XC5AD3ckXb2VT6dp23BQMdDfbHyUWfJN imported-openssh-key"},
"generic-vnf-type":"vIMSSWProduct_test 1",
"service-type":"c8cba5cc-b4cd-4903-9f9a-80b50255d18b",
"vnf-name":"vIMSVNFTEST1",
"vnf-type":"VimsClearwater..base..clearwater..module-0"
"generic-vnf-name":"vIMSVNFTEST1",
Click on Submit