From 4ab209d0c58b387dd2b5f6b3a3f6fce31897073f Mon Sep 17 00:00:00 2001 From: Rene_Robert Date: Wed, 10 Jul 2019 18:05:00 +0200 Subject: Issue-ID: DOC-503 user guide about adding CloudSite amended to take into account Catherine, Andreas and Thierry remarks Signed-off-by: Rene_Robert Change-Id: I16337f5f242979b1b0f82ccf18971a67b9ccba73 (cherry picked from commit ecf8ecaf49c9a5bf7d48eb19fbd6a40d7d54db9b) --- docs/guides/onap-user/cloud_site/aws/index.rst | 12 + docs/guides/onap-user/cloud_site/azure/index.rst | 12 + docs/guides/onap-user/cloud_site/index.rst | 38 +++ docs/guides/onap-user/cloud_site/k8s/index.rst | 12 + .../onap-user/cloud_site/openstack/index.rst | 346 +++++++++++++++++++++ docs/guides/onap-user/cloud_site/vmware/index.rst | 12 + docs/guides/onap-user/index.rst | 1 + 7 files changed, 433 insertions(+) create mode 100644 docs/guides/onap-user/cloud_site/aws/index.rst create mode 100644 docs/guides/onap-user/cloud_site/azure/index.rst create mode 100644 docs/guides/onap-user/cloud_site/index.rst create mode 100644 docs/guides/onap-user/cloud_site/k8s/index.rst create mode 100644 docs/guides/onap-user/cloud_site/openstack/index.rst create mode 100644 docs/guides/onap-user/cloud_site/vmware/index.rst diff --git a/docs/guides/onap-user/cloud_site/aws/index.rst b/docs/guides/onap-user/cloud_site/aws/index.rst new file mode 100644 index 000000000..c04886396 --- /dev/null +++ b/docs/guides/onap-user/cloud_site/aws/index.rst @@ -0,0 +1,12 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 +.. International License. http://creativecommons.org/licenses/by/4.0 +.. Copyright 2017 AT&T Intellectual Property. All rights reserved. + + +Adding an AWS Cloud Site to ONAP +================================ + +The following guide describe how to configure ONAP to be able to instantiate +a service in a new cloud site based on AWS. + +TO BE COMPLETED diff --git a/docs/guides/onap-user/cloud_site/azure/index.rst b/docs/guides/onap-user/cloud_site/azure/index.rst new file mode 100644 index 000000000..17cfa59da --- /dev/null +++ b/docs/guides/onap-user/cloud_site/azure/index.rst @@ -0,0 +1,12 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 +.. International License. http://creativecommons.org/licenses/by/4.0 +.. Copyright 2017 AT&T Intellectual Property. All rights reserved. + + +Adding an Azure Cloud Site to ONAP +================================== + +The following guide describe how to configure ONAP to be able to instantiate +a service in a new cloud site based on Microsoft Azure. + +TO BE COMPLETED diff --git a/docs/guides/onap-user/cloud_site/index.rst b/docs/guides/onap-user/cloud_site/index.rst new file mode 100644 index 000000000..982e5a230 --- /dev/null +++ b/docs/guides/onap-user/cloud_site/index.rst @@ -0,0 +1,38 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 +.. International License. http://creativecommons.org/licenses/by/4.0 +.. Copyright 2017 AT&T Intellectual Property. All rights reserved. + + +Adding a Cloud Site +=================== + +By default, having deployed ONAP, you should have provided information +that have been used by installation procedure to configure ONAP +to be connected with a first Openstack Cloud Site in order to instantiate +services on that platform. + +By default, ONAP to Cloud Site interactions are managed by +ONAP SO component directly. + +You have also the possibility to configure ONAP SO to interact Cloud Site +via ONAP MultiCloud component. + +To be able to add new Cloud Site you need to: + +* configure ONAP SO to know about the new Cloud Site +* configure ONAP SO to know to use ONAP MultiCloud for that new CloudSite +* declare the new cloud Site in ONAP AAI +* register the new cloud Site in ONAP multiCloud + + +The following guides are provided to describe tasks that a user of +ONAP may need to perform to inter-connect ONAP with a a new cloud Site. + +.. toctree:: + :maxdepth: 1 + + openstack/index.rst + k8s/index.rst + aws/index.rst + azur/index.rst + vmware/index.rst diff --git a/docs/guides/onap-user/cloud_site/k8s/index.rst b/docs/guides/onap-user/cloud_site/k8s/index.rst new file mode 100644 index 000000000..ee8fd3da6 --- /dev/null +++ b/docs/guides/onap-user/cloud_site/k8s/index.rst @@ -0,0 +1,12 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 +.. International License. http://creativecommons.org/licenses/by/4.0 +.. Copyright 2017 AT&T Intellectual Property. All rights reserved. + + +Adding a Kubernetes (K8S) Cloud Site to ONAP +============================================ + +The following guide describe how to configure ONAP to be able to instantiate +a service in a new cloud site based on Kubernetes. + +TO BE COMPLETED diff --git a/docs/guides/onap-user/cloud_site/openstack/index.rst b/docs/guides/onap-user/cloud_site/openstack/index.rst new file mode 100644 index 000000000..d7df9e697 --- /dev/null +++ b/docs/guides/onap-user/cloud_site/openstack/index.rst @@ -0,0 +1,346 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 +.. International License. http://creativecommons.org/licenses/by/4.0 +.. Copyright 2017 AT&T Intellectual Property. All rights reserved. + + +Adding a new Openstack Cloud Site to ONAP +========================================= + +The following guide describe how to configure ONAP to be able to instantiate +a service in a new cloud site based on Openstack. + +There are 2 methods for ONAP to communicate with Openstack in order +to instantiate a service: + +method 1 : ONAP SO => Openstack +method 2 : ONAP SO => ONAP MultiCloud => Openstack + +In this guideline the following parameter/value will be used + +* Complex Name: My_Complex +* Region Name: INTEGRATION_CENTER +* Cloud Owner: MyCompanyName + + +Method 1 : without ONAP MultiCloud +---------------------------------- + +TO BE DESCRIBED + + + +Method 2 : using ONAP MultiCloud +-------------------------------- + + +STEP 1 : declare Cloud Site in ONAP SO to interact with ONAP multiCloud +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The MariaDB database of ONAP SO needs to be modified. + +In the ONAP SO, the use of ONAP Multicloud for that Cloud Site need +to be indicated. + +ONAP SO will communicate with ONAP MultiCloud like if MultiCloud would be +an Openstack system. + + +Connect to ONAP SO pod + +In a Unix Terminal, to get the SO pods id that is providing +the MariaDB database: + +:: + + kubectl -n onap get pod | grep mariadb-galera + +To connect to that SO pod +(in this example, the SO pod id is "onap-mariadb-galera-mariadb-galera-0"): + +:: + + kubectl -n onap exec -ti onap-mariadb-galera-mariadb-galera-0 sh + +Then modify the data in the MariaDB: + + +A "mso_id" and "mso_pass" are required even if, with multicloud, +only credentials managed by ESR will be used. + +Nevertheless, you need to provide a correct encrypted value for the pass value. + +"MyCompanyName" is a cloud owner value. WARNING : do not use underscore +in the value. + +"INTEGRATION_CENTER" is the region name + +:: + + mysql --user=so_admin --password=so_Admin123 + USE catalogdb + INSERT INTO identity_services VALUES('MC_KEYSTONE', 'http://msb-iag.onap:80/api/multicloud/v1/MyCompanyName_INTEGRATION_CENTER/identity/v2.0', 'admin', '5b6f369745f5f0e1c61da7f0656f3daf93c8030a2ea94b7964c67abdcfb49bdf2fa2266344b4caaca1eba8264d277831', 'service', 'admin', 1, 'KEYSTONE', 'USERNAME_PASSWORD', 'lastUser', '2019-07-05 10:32:00', '2019-07-05 10:32:00'); + INSERT INTO cloud_sites VALUES('INTEGRATION_CENTER', 'INTEGRATION_CENTER', 'MC_KEYSTONE', 2.5, 'INTEGRATION_CENTER', NULL, NULL, NULL, 'MySelf', '2019-07-05 10:32:00', '2019-07-05 10:32:00'); + + +You need then to change the ONAP SO VNF Adapter Rest API endpoint version: + +in a unix terminal: + +to find the right config map name: + +:: + + kubectl -n onap get configmap | grep so-so-bpmn-infra-app-configmap + + +to edit and change the configmap: + +:: + + kubectl -n onap edit configmap onap-so-so-bpmn-infra-app-configmap + +in the section "vnf", modify the rest endpoint: + +:: + + vnf: + endpoint: http://so-openstack-adapter.onap:8087/services/VnfAdapter + rest: + - endpoint: http://so-openstack-adapter.onap:8087/services/rest/v1/vnfs + + endpoint: http://so-openstack-adapter.onap:8087/services/rest/v2/vnfs + volume-groups: + rest: + endpoint: http://so-openstack-adapter.onapg:8087/services/rest/v1/volume-groups + + +Having modified the configmap, it is necessary to delete the pod in order +it takes the modification into account. + +to find the right pod name: + +:: + + kubectl -n onap get po | grep so-so + + +You need to find the pod that is similar to the following pod id: + +"onap-so-so-6b9f64b887-jgrdp" + + +to delete the pod: + +:: + + kubectl -n onap delete onap-so-so-6b9f64b887-jgrdp + + +Then, wait for the pod to restart. To check: + +:: + + kubectl -n onap get po | grep so-so + + + + +STEP 2 : declare the new cloud Site in ONAP AAI +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +declare a Complex in ONAP AAI + + +A Cloud Site is located in a Building called "Complex" object +in ONAP AAI datamodel. + +AAI REST API is used to declare the complex object. + +Here is an example using "curl" tool to send the API request. + +The new Complex is named "My_Complex" in this example. + + +:: + + curl -X PUT \ + https://aai.api.sparky.simpledemo.onap.org:30233/aai/v16/cloud-infrastructure/complexes/complex/My_Complex \ + -H 'Accept: application/json' \ + -H 'Authorization: Basic QUFJOkFBSQ==' \ + -H 'Cache-Control: no-cache' \ + -H 'Content-Type: application/json' \ + -H 'Real-Time: true' \ + -H 'X-FromAppId: jimmy-postman' \ + -H 'X-TransactionId: 9999' \ + -d '{ + "physical-location-id": "My_Complex", + "data-center-code": "example-data-center-code-val-5556", + "complex-name": "My_Complex", + "identity-url": "example-identity-url-val-56898", + "physical-location-type": "example-physical-location-type-val-7608", + "street1": "example-street1-val-34205", + "street2": "example-street2-val-99210", + "city": "Beijing", + "state": "example-state-val-59487", + "postal-code": "100000", + "country": "example-country-val-94173", + "region": "example-region-val-13893", + "latitude": "39.9042", + "longitude": "106.4074", + "elevation": "example-elevation-val-30253", + "lata": "example-lata-val-46073" + }' -k + + +Check the Complexes in ONAP AAI: + +:: + + curl -X GET \ + https://aai.api.sparky.simpledemo.onap.org:30233/aai/v16/cloud-infrastructure/complexes \ + -H 'Accept: application/json' \ + -H 'Authorization: Basic QUFJOkFBSQ==' \ + -H 'X-FromAppId: AAI' \ + -H 'X-TransactionId: 808b54e3-e563-4144-a1b9-e24e2ed93d4f' \ + -H 'cache-control: no-cache' -k + + + + +declare a Cloud Site in ONAP AAI + + +To declare a Cloud Site, you need to use the AAI REST API. + +The new Cloud site is named "INTEGRATION_CENTER" in this example. + +There is also a "Cloud Owner" notion in ONAP AAI datamodel. + +The new Cloud Owner is named "MyCompanyName" in this example. + +In Openstack, there is also a "region" notion. You need to get the value of +the region that has been set when deploying your openstack platform + +In the following example the openstack region has the value "RegionOne" +(in the parameter "cloud-extra-info") + +parameter "complex-name" relate to the Complex you previously declared. + +parameter "cloud-type" take the value "openstack" + +parameter "cloud-region-version" is refering to your openstack version + +parameter "cloud-extra-info" will contain the Openstack "region". +Here, the region ID of the deployed openstack cloud site will be set. + +In the following example the openstack region has the value "RegionOne". + +parameter "esr-system-info-list" will contain the list of openstack platform +credentials that will allow ONAP MultiCloud to communicate with the Cloud Site. + + +:: + + curl -X PUT \ + https://aai.api.sparky.simpledemo.onap.org:30233/aai/v16/cloud-infrastructure/cloud-regions/cloud-region/MyCompanyName/INTEGRATION_CENTER \ + -H 'Accept: application/json' \ + -H 'Authorization: Basic QUFJOkFBSQ==' \ + -H 'Cache-Control: no-cache' \ + -H 'Content-Type: application/json' \ + -H 'Postman-Token: 8b9b95ae-91d6-4436-90fa-69cb4d2db99c' \ + -H 'Real-Time: true' \ + -H 'X-FromAppId: jimmy-postman' \ + -H 'X-TransactionId: 9999' \ + -d '{ + "cloud-owner": "MyCompanyName", + "cloud-region-id": "INTEGRATION_CENTER", + "cloud-type": "openstack", + "owner-defined-type": "N/A", + "cloud-region-version": "pike", + "complex-name": "My_Complex", + "cloud-zone": "CloudZone", + "sriov-automation": false, + "identity-url": "WillBeUpdatedByMultiCloud", + "cloud-extra-info":"{\"openstack-region-id\":\"RegionOne\"}" + "esr-system-info-list": { + "esr-system-info": [ + { + "esr-system-info-id": "", + "service-url": "http://", + "user-name": "", + "password": "", + "system-type": "VIM", + "ssl-insecure": true, + "cloud-domain": "Default", + "default-tenant": "", + "system-status": "active" + } + ] + } + }' -k + + +Associate Cloud site to a Complex in ONAP AAI: + + +:: + + curl -X PUT \ + https://aai.api.sparky.simpledemo.onap.org:30233/aai/v16/cloud-infrastructure/cloud-regions/cloud-region/MyCompanyName/INTEGRATION_CENTER/relationship-list/relationship \ + -H 'Accept: application/json' \ + -H 'Authorization: Basic QUFJOkFBSQ==' \ + -H 'Content-Type: application/json' \ + -H 'X-FromAppId: AAI' \ + -H 'X-TransactionId: 808b54e3-e563-4144-a1b9-e24e2ed93d4f' \ + -H 'cache-control: no-cache' \ + -d '{ + "related-to": "complex", + "related-link": "/aai/v16/cloud-infrastructure/complexes/complex/My_Complex", + "relationship-data": [ + { + "relationship-key": "complex.physical-location-id", + "relationship-value": "My_Complex" + } + ] + }' -k + + +Check the Cloud Site creation in ONAP AAI: + +:: + + curl -X GET \ + https://aai.api.sparky.simpledemo.onap.org:30233/aai/v16/cloud-infrastructure/cloud-regions \ + -H 'Accept: application/json' \ + -H 'Authorization: Basic QUFJOkFBSQ==' \ + -H 'X-FromAppId: AAI' \ + -H 'X-TransactionId: 808b54e3-e563-4144-a1b9-e24e2ed93d4f' \ + -H 'cache-control: no-cache' -k + + + +STEP 3 : Register the Cloud Site in ONAP Multicloud +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +:: + + curl -X POST \ + http://msb.api.discovery.simpledemo.onap.org:30280/api/multicloud/v1/MyCompanyName_INTEGRATION_CENTER/registry \ + -H 'Accept: application/json' \ + -H 'Cache-Control: no-cache' \ + -H 'Content-Type: application/json' \ + + +check registration: + +:: + + curl -X GET \ + https://aai.api.sparky.simpledemo.onap.org:30233/aai/v16/cloud-infrastructure/cloud-regions/cloud-region/MyCompanyName/INTEGRATION_CENTER?depth=all \ + -H 'Accept: application/json' \ + -H 'Authorization: Basic QUFJOkFBSQ==' \ + -H 'Cache-Control: no-cache' \ + -H 'Content-Type: application/json' \ + -H 'Real-Time: true' \ + -H 'X-FromAppId: jimmy-postman' \ + -H 'X-TransactionId: 9999' -k diff --git a/docs/guides/onap-user/cloud_site/vmware/index.rst b/docs/guides/onap-user/cloud_site/vmware/index.rst new file mode 100644 index 000000000..ba7f9619e --- /dev/null +++ b/docs/guides/onap-user/cloud_site/vmware/index.rst @@ -0,0 +1,12 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 +.. International License. http://creativecommons.org/licenses/by/4.0 +.. Copyright 2017 AT&T Intellectual Property. All rights reserved. + + +Adding a VMware Cloud Site to ONAP +================================== + +The following guide describe how to configure ONAP to be able to instantiate +a service in a new cloud site based on VMware. + +TO BE COMPLETED diff --git a/docs/guides/onap-user/index.rst b/docs/guides/onap-user/index.rst index 709265e0b..c30a67a5c 100644 --- a/docs/guides/onap-user/index.rst +++ b/docs/guides/onap-user/index.rst @@ -15,6 +15,7 @@ an instance of ONAP. onapportal.rst platformoperations.rst + cloud_site/index.rst design/index.rst servicedeployment.rst onapcli.rst -- cgit 1.2.3-korg