Issue-ID: DOC-503 80/91380/1
authorRene_Robert <rene.robert@orange.com>
Wed, 10 Jul 2019 16:05:00 +0000 (18:05 +0200)
committerEric Debeau <eric.debeau@orange.com>
Fri, 12 Jul 2019 15:40:57 +0000 (15:40 +0000)
user guide about adding CloudSite
amended to take into account Catherine, Andreas and Thierry remarks

Signed-off-by: Rene_Robert <rene.robert@orange.com>
Change-Id: I16337f5f242979b1b0f82ccf18971a67b9ccba73
(cherry picked from commit ecf8ecaf49c9a5bf7d48eb19fbd6a40d7d54db9b)

docs/guides/onap-user/cloud_site/aws/index.rst [new file with mode: 0644]
docs/guides/onap-user/cloud_site/azure/index.rst [new file with mode: 0644]
docs/guides/onap-user/cloud_site/index.rst [new file with mode: 0644]
docs/guides/onap-user/cloud_site/k8s/index.rst [new file with mode: 0644]
docs/guides/onap-user/cloud_site/openstack/index.rst [new file with mode: 0644]
docs/guides/onap-user/cloud_site/vmware/index.rst [new file with mode: 0644]
docs/guides/onap-user/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 (file)
index 0000000..c048863
--- /dev/null
@@ -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 (file)
index 0000000..17cfa59
--- /dev/null
@@ -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 (file)
index 0000000..982e5a2
--- /dev/null
@@ -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 (file)
index 0000000..ee8fd3d
--- /dev/null
@@ -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 (file)
index 0000000..d7df9e6
--- /dev/null
@@ -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": "<random UUID, e.g. 5c85ce1f-aa78-4ebf-8d6f-4b62773e9bde>",
+              "service-url": "http://<your openstack keystone endpoint, e.g. http://10.12.25.2:5000/v3>",
+              "user-name": "<your openstack user>",
+              "password": "<your openstack password>",
+              "system-type": "VIM",
+              "ssl-insecure": true,
+              "cloud-domain": "Default",
+              "default-tenant": "<your openstack project name>",
+              "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 (file)
index 0000000..ba7f961
--- /dev/null
@@ -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
index 709265e..c30a67a 100644 (file)
@@ -15,6 +15,7 @@ an instance of ONAP.
 
    onapportal.rst
    platformoperations.rst
+   cloud_site/index.rst
    design/index.rst
    servicedeployment.rst
    onapcli.rst