summaryrefslogtreecommitdiffstats
path: root/docs/guides/onap-operator
diff options
context:
space:
mode:
authorEric Debeau <eric.debeau@orange.com>2019-12-16 16:21:39 +0000
committerGerrit Code Review <gerrit@onap.org>2019-12-16 16:21:39 +0000
commit410e4188b754b626ad5e24d52e6fed42019763d9 (patch)
treeb97bdb8008935ccc4a7400e11334272b10c2e8d3 /docs/guides/onap-operator
parent55073ff18635129e39f3f7a6d831c01e9352a0dd (diff)
parent55ae2d256a84394d1ef2985bdb43f9f7b92ba405 (diff)
Merge "Creating an "Operations and Administration Guides" section and restructuring chapters"
Diffstat (limited to 'docs/guides/onap-operator')
-rw-r--r--docs/guides/onap-operator/cloud_site/aws/index.rst12
-rw-r--r--docs/guides/onap-operator/cloud_site/azure/index.rst12
-rw-r--r--docs/guides/onap-operator/cloud_site/index.rst38
-rw-r--r--docs/guides/onap-operator/cloud_site/k8s/index.rst12
-rw-r--r--docs/guides/onap-operator/cloud_site/openstack/index.rst378
-rw-r--r--docs/guides/onap-operator/cloud_site/vmware/index.rst12
-rw-r--r--docs/guides/onap-operator/index.rst18
-rw-r--r--docs/guides/onap-operator/platformoperations.rst94
-rw-r--r--docs/guides/onap-operator/settingup/index.rst105
-rw-r--r--docs/guides/onap-operator/settingup/nodeports.csv100
10 files changed, 781 insertions, 0 deletions
diff --git a/docs/guides/onap-operator/cloud_site/aws/index.rst b/docs/guides/onap-operator/cloud_site/aws/index.rst
new file mode 100644
index 000000000..c04886396
--- /dev/null
+++ b/docs/guides/onap-operator/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-operator/cloud_site/azure/index.rst b/docs/guides/onap-operator/cloud_site/azure/index.rst
new file mode 100644
index 000000000..17cfa59da
--- /dev/null
+++ b/docs/guides/onap-operator/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-operator/cloud_site/index.rst b/docs/guides/onap-operator/cloud_site/index.rst
new file mode 100644
index 000000000..89f730055
--- /dev/null
+++ b/docs/guides/onap-operator/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
+ azure/index.rst
+ vmware/index.rst
diff --git a/docs/guides/onap-operator/cloud_site/k8s/index.rst b/docs/guides/onap-operator/cloud_site/k8s/index.rst
new file mode 100644
index 000000000..ee8fd3da6
--- /dev/null
+++ b/docs/guides/onap-operator/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-operator/cloud_site/openstack/index.rst b/docs/guides/onap-operator/cloud_site/openstack/index.rst
new file mode 100644
index 000000000..8688ff396
--- /dev/null
+++ b/docs/guides/onap-operator/cloud_site/openstack/index.rst
@@ -0,0 +1,378 @@
+.. 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
+
+
+Associate an Availability zone to a Cloud site 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/availability-zones/availability-zone/brittany \
+ -H 'Accept: application/json' \
+ -H 'Authorization: Basic QUFJOkFBSQ==' \
+ -H 'Content-Type: application/json' \
+ -H 'X-FromAppId: AAI' \
+ -H 'X-TransactionId: get_aai_subscr' \
+ -H 'cache-control: no-cache' \
+ -d '{
+ "availability-zone-name": "brittany",
+ "hypervisor-type": "KVM"
+ }'
+
+
+Check the operation:
+
+::
+
+ curl -X GET \
+ https://aai.api.sparky.simpledemo.onap.org:30233/aai/v16/cloud-infrastructure/cloud-regions/cloud-region/MyCompanyName/INTEGRATION_CENTER/availability-zones \
+ -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'
+
+
+
+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-operator/cloud_site/vmware/index.rst b/docs/guides/onap-operator/cloud_site/vmware/index.rst
new file mode 100644
index 000000000..ba7f9619e
--- /dev/null
+++ b/docs/guides/onap-operator/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-operator/index.rst b/docs/guides/onap-operator/index.rst
new file mode 100644
index 000000000..e464c2407
--- /dev/null
+++ b/docs/guides/onap-operator/index.rst
@@ -0,0 +1,18 @@
+.. 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.
+
+.. _operation_guides:
+
+Operations and Administration Guides
+====================================
+The following guides are provided to describe tasks that an adminitrator and
+operator of ONAP need to perform when installing, monitoring and operating
+an instance of ONAP.
+
+.. toctree::
+ :maxdepth: 1
+
+ settingup/index.rst
+ platformoperations.rst
+ cloud_site/index.rst
diff --git a/docs/guides/onap-operator/platformoperations.rst b/docs/guides/onap-operator/platformoperations.rst
new file mode 100644
index 000000000..edde9aed8
--- /dev/null
+++ b/docs/guides/onap-operator/platformoperations.rst
@@ -0,0 +1,94 @@
+.. 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.
+
+
+Platform Operations
+===================
+
+.. toctree::
+ :maxdepth: 1
+ :titlesonly:
+
+ONAP Operations
+---------------
+
+Configuring, scaling and upgrading ONAP is supported by OOM and can
+be found in:
+
+.. toctree::
+ :maxdepth: 2
+ :titlesonly:
+
+ ../../submodules/oom.git/docs/oom_user_guide.rst
+
+ONAP Testing and Monitoring
+---------------------------
+
+Monitoring of ONAP depends on the deployment scenario.
+Generally the infrastructure monitoring (Openstack, K8S) depends on the
+platform ONAP is installed on.
+
+Additionally ONAP supports the following additional tools to monitor ONAP
+functions
+
+**Basic Healthcheck of ONAP is supported by:**
+
+.. toctree::
+ :maxdepth: 2
+ :titlesonly:
+
+ RobotFramework <../../submodules/integration.git/docs/docs_robot.rst>
+
+**Interface Health can be checked via Consul:**
+
+ OOM provides two mechanisms to monitor the real-time health of an ONAP
+ deployment
+
+ * a Consul GUI for a human operator or downstream monitoring systems
+ and Kubernetes liveness probes that enable automatic healing of
+ failed containers, and
+ * a set of liveness probes which feed into the Kubernetes manager
+
+ Within ONAP, Consul is the monitoring system of choice and deployed
+ by OOM in two parts:
+
+ * a three-way, centralized Consul server cluster is deployed as a
+ highly available monitor of all of the ONAP components, and a number
+ of Consul agents.
+
+ The Consul server provides a user interface that allows a user to
+ graphically view the current health status of all of the ONAP components
+ for which agents have been created
+
+ The Consul GUI can be accessed via:
+
+ http://<kubernetes IP>:30270/ui/
+
+**ONAP Log collection is provided by the Logging and Analytics Module:**
+
+.. toctree::
+ :maxdepth: 2
+ :titlesonly:
+
+ Logging&Analytics <../../submodules/logging-analytics.git/docs/index.rst>
+
+ONAP Backup and Restore
+-----------------------
+
+To Backup ONAP a solution is described in Wiki (Migration to RTD->TBD):
+
+`Backup and Restore Solution <https://wiki.onap.org/display/DW/Backup+and+Restore+Solution%3A+ONAP-OOM>`_
+
+ONAP Multisite Deployment
+-------------------------
+
+ONAP Multisite deployment, coordination and management is supported by
+the MUSIC component:
+
+.. toctree::
+ :maxdepth: 2
+ :titlesonly:
+
+ Multi-Site State Coordination <../../submodules/music.git/docs/index.rst>
+
diff --git a/docs/guides/onap-operator/settingup/index.rst b/docs/guides/onap-operator/settingup/index.rst
new file mode 100644
index 000000000..f96388891
--- /dev/null
+++ b/docs/guides/onap-operator/settingup/index.rst
@@ -0,0 +1,105 @@
+.. This work is licensed under
+.. a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. Copyright 2017-2018 AT&T Intellectual Property. All rights reserved.
+.. Modifications Copyright 2018 Orange
+.. Modifications Copyright 2018 Amdocs
+.. Modifications Copyright 2018 Huawei
+.. Modifications Copyright 2019 Orange
+
+Setting Up ONAP
+===============
+
+.. _installing-onap:
+
+ONAP is deployed using the ONAP Operations Manager (OOM).
+
+The recommended ONAP deployment is based on Kubernetes, Docker containers
+and Helm installer.
+
+Requirements
+------------
+
+The following is the recommended component version.
+
+ =========== =========
+ Software Version
+ =========== =========
+ Kubernetes 1.13.5
+ Helm 2.12.3
+ kubectl 1.13.5
+ Docker 18.09.5
+ =========== =========
+
+The ONAP full installation is validated with the following footprint:
+
+.. csv-table:: Validated installation footprint
+ :widths: 3,5,10
+
+ VM number, VM flavor, VM role
+ 12, 16 GB RAM - 8 vCPUs, Running the K8S worker role
+ 3, 8 GB RAM - 4 vCPUs, Running the K8S controller role
+ 1, 8 GB RAM - 4 vCPUs, Running the shared NFS server for /dockerdata-nfs/
+
+Installation
+------------
+
+Creation of Kubernetes cluster is described here:
+
+.. toctree::
+ :maxdepth: 2
+ :titlesonly:
+
+ ../../../../submodules/oom.git/docs/oom_cloud_setup_guide.rst
+
+ONAP installation is described here:
+
+.. toctree::
+ :maxdepth: 2
+ :titlesonly:
+
+ ../../../../submodules/oom.git/docs/oom_quickstart_guide.rst
+ ../../../../submodules/oom.git/docs/oom_user_guide.rst
+
+Alternative way of offline ONAP installation is described here:
+
+.. toctree::
+ :maxdepth: 2
+ :titlesonly:
+
+ ../../../../submodules/oom/offline-installer.git/docs/index.rst
+
+.. note::
+ Prior to deployment of ONAP, there is no need to download manually any Docker container.
+ The OOM deployment takes care to automatically download the Docker containers.
+
+ It is also possible to deploy a subset of ONAP components on a single VM.
+ The VM flavor to be used depends on the number of ONAP components to be
+ deployed.
+
+NodePorts
+---------
+
+NodePorts are used to allow client applications, that run outside of
+Kubernetes, access to ONAP components deployed by OOM.
+A NodePort maps an externally reachable port to an internal port of an ONAP
+microservice.
+It should be noted that the use of NodePorts is temporary.
+An alternative solution is currently being scoped for the Dublin Release.
+
+More information from official Kubernetes documentation about
+`NodePort <https://kubernetes.io/docs/concepts/services-networking/service/#nodeport>`_.
+
+The following table lists all the NodePorts used by ONAP.
+
+.. csv-table:: NodePorts table
+ :file: nodeports.csv
+ :widths: 20,20,20,20,20
+ :header-rows: 1
+
+This table retrieves information from the ONAP deployment using the following
+Kubernetes command:
+
+.. code-block:: bash
+
+ kubectl get svc -n onap -o go-template='{{range .items}}{{range.spec.ports}}{{if .nodePort}}{{.nodePort}}{{.}}{{"\n"}}{{end}}{{end}}{{end}}'
diff --git a/docs/guides/onap-operator/settingup/nodeports.csv b/docs/guides/onap-operator/settingup/nodeports.csv
new file mode 100644
index 000000000..2fb6a2c24
--- /dev/null
+++ b/docs/guides/onap-operator/settingup/nodeports.csv
@@ -0,0 +1,100 @@
+NodePort,Component,Service name,targetPort,Port
+30200,VID,vid,8443,8443
+30201,SDNC,sdnc-portal,8843,8843
+30202,SDNC,sdnc-8282,8181,8282
+30203,SDNC,dgbuilder,3100,3000
+30204,SDC,sdc-be,8443,8443
+30205,SDC,sdc-be,8080,8080
+30206,SDC,sdc-fe,8181,8181
+30207,SDC,sdc-fe,9443,9443
+30208,SDNC,sdnc-8202,8101,8202
+30209,ROBOT,httpd,8702,8702
+30210,AAI,aai-modelloader,8080,8080
+30211,APPC,appc-9090,9191,9090
+30212,PORTAL,portal-sdk,8080,8080
+30213,PORTAL,portal-app,8005,8006
+30214,PORTAL,portal-app3,8009,8010
+30215,PORTAL,portal-app,8080,8989
+30218,POLICY,pap-9091,9091,9091
+30219,POLICY,pap-8443,8443,8443
+30220,AAI,aai-sparky-be,8000,8000
+30222,DCAE,xport-t-6061,6061,6061
+30224,SO,so-monitor-port,9091,9091
+30225,PORTAL,portal-app4,8443,8443
+30226,DMAAP,message-router-3905,3905,3905
+30227,DMAAP,message-router-3904,3904,3904
+30228,APPC,dgbuilder,3100,3000
+30229,AAI,aai-modelloader-ssl,8443,8443
+30230,APPC,appc-8282,8181,8282
+30231,APPC,appc-1830,1830,1830
+30233,AAI,aai-ssl,8443,8443
+30234,POMBA,pomba-kibana,5601,5601
+30235,DCAE,xport-t-8080,8080,8080
+30238,VID,vid-http,8080,8080
+30239,AAI,spike,9518,9518
+30241,DMAAP,dmaap-bc,8080,8080
+30242,DMAAP,dmaap-bc2,8443,8443
+30246,SDNC,sdnc-8280,8080,8280
+30248,OOF,oof-has-api,8699,8698
+30249,POMBA,pomba-data-router,9502,9502
+30253,LOG,log-kibana,5601,5601
+30254,LOG,log-es,9200,9200
+30255,LOG,log-ls,5044,5044
+30256,SDC,sdc-wfd-fe,8080,8080
+30257,SDC,sdc-wfd-be,8080,8080
+30258,CLAMP,clamp,8443,8443
+30259,DMAAP,dmaap-dr-prov,8080,8080
+30260,CLI,cli8080,8443,8080
+30263,DCAE,dcae-fe,8183,8183
+30264,DCAE,dcae-fe2,9444,9444
+30265,DCAE,dcae-dt,8186,8186
+30266,DCAE,dcae-dt2,9446,9446
+30267,SDNC,sdnc-8443,2550,8443
+30268,AAI,aai-crud-service,9520,9520
+30269,DMAAP,dmaap-dr-prov2,8443,8443
+30270,CONSUL,consul-ui,8500,8500
+30271,CLI,cli9090,8080,9090
+30274,API,api-8080,8080,8080
+30275,OOF,oof-has-api,8091,8091
+30277,SO,so-apih-port,8080,8080
+30278,AAI,aai-champ,9522,9522
+30279,AAI,babel,9516,9516
+30280,MSB,http-msb-iag,443,443
+30281,MSB,http-msb-discovery,10081,10081
+30282,MSB,http-msb-eag,10081,10081
+30283,MSB,https-msb-iag,443,443
+30284,MSB,https-msb-eag,443,443
+30285,MSB,http-msb-consul,8500,8500
+30286,DCAE,client,6379,6379
+30287,DCAE,gossip,16379,16379
+30289,APPC,appc-cdt,18080,18080
+30290,CLAMP,cdash-kibana,5601,5601
+30297,VNFSDK,refrepo,8702,8702
+30299,POMBA,https,8443,9531
+30398,UUI,uui,8080,8080
+30399,UUI,uui-server,8082,8082
+30406,SO,so-vnfm-port,9092,9092
+30415,DCAE,config-binding-service,10000,10000
+30417,DCAE,xport-t-8443,8443,8443
+30418,DCAE,xport-t-8080,8080,8080
+30419,DCAE,xport-t-8443,8443,8443
+30420,API,api-8080,8080,8080
+30431,SDC,sdc-wfd-fe2,8443,8443
+30470,DCAE,xport-u-6162,6162,6162
+30476,DCAE,tomcat,8080,8080
+30490,DMAAP,message-router-kafka-0,9093,9093
+30491,DMAAP,message-router-kafka-1,9093,9093
+30492,DMAAP,message-router-kafka-1,9093,9093
+30493,DMAAP,dmaap-dr-node,8080,8080
+30494,DMAAP,dmaap-dr-node,8443,8443
+30497,CDS,cds-ui-3000,3000,3000
+30499,CDS,blueprints-processor-http,8080,8080
+31110,AAF,aaf-service,8100,8100
+31111,AAF,aaf-locate,8095,8095
+31112,AAF,aaf-oauth,8140,8140
+31113,AAF,aaf-hello,8200,8200
+31114,AAF,aaf-cm,8150,8150
+31115,AAF,aaf-hello,8096,8096
+31116,AAF,aaf-hello,8130,8130
+31907,DMAAP,dmaap-dr-prov2,5000,5000
+32010,DCAE,xport-t-11011,11011,11011