See : https://onap.readthedocs.io/en/latest/guides/onap-user/cloud_site/index.html
Following is maybe obsolete...
When a VIM/Cloud instance is used to deploy an ONAP instance, it will be registered to that ONAP instance When an ONAP instance is deployed over a VIM/Cloud instance, the VIM/Cloud instance will be registered by default. However, it is somehow tricky to add additional VIM/Cloud instance to ONAP instance with Amsterdam Release. This page is trying to share the practice to do so and the goal is to allow users deploy VNF/VF-Modules to the additional VIM/Cloud instance.
...
Code Block | ||||
---|---|---|---|---|
| ||||
PUT /aai/v11/cloud-infrastructure/complexes/complex/clli2 HTTP/1.1 Host: <AAI_VM1_IP>:8443 X-TransactionId: 9999 X-FromAppId: jimmy-postman Real-Time: true Authorization: Basic QUFJOkFBSQ== Content-Type: application/json Accept: application/json Cache-Control: no-cache Postman-Token: 734b5a2e-2a89-1cd3-596d-d69904bcda0a { "physical-location-id": "clli2", "data-center-code": "example-data-center-code-val-6667", "complex-name": "clli2", "identity-url": "example-identity-url-val-28399", "physical-location-type": "example-physical-location-type-val-28399", "street1": "example-street1-val-28399", "street2": "example-street2-val-28399", "city": "example-city-val-28399", "state": "example-state-val-28399", "postal-code": "example-postal-code-val-28399", "country": "example-country-val-28399", "region": "example-region-val-28399", "latitude": "example-latitude-val-28399","1111", "longitude": "example-longitude-val-283992222", "elevation": "example-elevation-val-28399", "lata": "example-lata-val-28399" } |
...
SO does not utilize the cloud region representation in A&AI. It stores information of the VIM/Cloud instances inside of the container as configuration file. So to add a VIM/Cloud instance to SO, you need attach to the SO service container and then update the configuration file "/etc/mso/config.d/cloud_config.json" accordingly.
Below is the template for adding a new cloud site and the associate identity service.
Code Block | ||||
---|---|---|---|---|
| ||||
ubuntu@vm0-so:~$ sudo docker exec -it testlab_mso_1 bash root@mso:/# apt-get install vim root@mso:/# vi /etc/mso/config.d/cloud_config.json { "cloud_config": { "identity_services": { "DEFAULT_KEYSTONE": { "identity_url": "http://10.12.25.2:5000/v2.0", "mso_id": "demonstrable", "mso_pass": "9f0933d3664e07961856781c9add38bc", "admin_tenant": "service", "member_role": "admin", "tenant_metadata": true, "identity_server_type": "KEYSTONE", "identity_authentication_type": "USERNAME_PASSWORD" }, "DEFAULT_KEYSTONE2": { "identity_url": "<keystone auth url, support only keystone API v2.0>", "mso_id": "<username>", "mso_pass": "<encrypted password by http://<MSO VM IP>:8080/networks/rest/cloud/encryptPassword/<password> >", "admin_tenant": "service", "member_role": "admin", "tenant_metadata": true, "identity_server_type": "KEYSTONE", "identity_authentication_type": "USERNAME_PASSWORD" } }, "cloud_sites": { "RegionOne": { "region_id": "RegionOne", "clli": "RegionOne", "aic_version": "2.5", "identity_service_id": "DEFAULT_KEYSTONE" }, "<cloud_site name, must align to cloud-region-id in AAI>": { "region_id": "cloud_site name, must align to cloud-region-id in AAI", "clli": "cloud_site name, must align to cloud-region-id in AAI", "aic_version": "2.5", "identity_service_id": "DEFAULT_KEYSTONE2" } } } } |
3, Change Robot service to operate with the VIM/Cloud instance
## check the new config:
http://<so-vm-ip>:8080/networks/rest/cloud/showConfig
3, Change Robot service to operate with the VIM/Cloud instance
By default the Robot service supports the pre-populated cloud region of which the cloud-The cloud-owner is "CloudOwner" and cloud-region-id is specified via the parameters "openstack_region" for deploying this ONAP instance. All cloud region information can be found at "/share/config/vm_properties.py" .
Robot service supports the hacking operations to populate subscribers, service models, and preload VNF data, bridge heat instance into AAI, as well as APPC mount. Most of operation are tightly coupled with the default cloud region. So if you would like to perform such hacking operations with additional cloud region, you'd better to launch another robot VM with corresponding cloud region parameters in order to get expected results.
Please refer to the template additional_robot.zip to create additional robot for new cloud region
Hint: Take care of following parameters which should reflect the new cloud region information, while others reflect the cloud region where ONAP runs
Code Block | ||
---|---|---|
| ||
openstack_tenant_id: PUT YOUR OPENSTACK PROJECT ID HERE
openstack_username: PUT YOUR OPENSTACK USERNAME HERE
openstack_api_key: PUT YOUR OPENSTACK PASSWORD HERE
openstack_region: PUT YOUR OPENSTACK Region ID HERE, e.g. RegionOne
keystone_url: PUT THE KEYSTONE URL HERE (do not include version number)
cloud_env: openstack |
Launch robot VM by heat template:
Code Block | ||||
---|---|---|---|---|
| ||||
openstack stack create -t additional_robot_vm.yaml -e additional_robot_vm.env onap.robot.1
|
To verify if the new robot service works well, you could check the ONAP service health from the new robot VM.
Code Block | ||||
---|---|---|---|---|
| ||||
*** ssh to Robot VM and perform following command, it is expected the same output as you can get from the original Robot VM***
sudo docker exec -it openecompete_container /var/opt/OpenECOMP_ETE/runTags.sh -i health h -d ./html -V /share/config/integration_robot_properties.py -V /share/config/integration_preload_parameters.py -V /share/config/vm_properties.py
|