There are two 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.
- After updating AAI and after we create the service instance via VID, we need to set the preload data for the vIMS VNFs in SDNC.
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.
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