Merge "Adding PNDA documentation"
[dcaegen2.git] / docs / sections / installation_pnda.rst
diff --git a/docs/sections/installation_pnda.rst b/docs/sections/installation_pnda.rst
new file mode 100644 (file)
index 0000000..d1c0a38
--- /dev/null
@@ -0,0 +1,185 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+Installing PNDA During Helm Chart Based DCAE Deployment
+=======================================================
+
+PNDA is integrated into ONAP as a component system of DCAE. It is possible to deploy PNDA as
+part of an ONAP OOM deployment on Openstack infrastructure. This is achieved by using a
+pnda-bootstrap container in kubernetes to deploy Openstack VMs and then install a PNDA cluster
+onto those VMs.
+
+Requirements
+------------
+
+PNDA deployment within ONAP requires the following:
+
+* Openstack based infrastructure. Follow the `PNDA guide <http://pnda.io/pnda-guide/provisioning/openstack/PREPARE.html>`_
+  for more information.
+* OOM / Helm template based installation of ONAP on Kubernetes.
+* Kubernetes and PNDA need to share the same Openstack network subnet.
+
+The dcae-pnda-bootstrap Helm chart currently deploys a PNDA cluster with the following resource
+requirements:
+
++--------------------+--------------------+--------------------+--------------------+
+|Node                |        CPU         |       RAM GB       |      Disk GB       |
++====================+====================+====================+====================+
+|Gateway             |         2          |         4          |         20         |
++--------------------+--------------------+--------------------+--------------------+
+|Edge                |         8          |         32         |         50         |
++--------------------+--------------------+--------------------+--------------------+
+|Hadoop Manager      |         4          |         16         |         50         |
++--------------------+--------------------+--------------------+--------------------+
+|Hadoop Data x 2     |         4          |         8          |      20 + 45       |
++--------------------+--------------------+--------------------+--------------------+
+|Kafka               |         2          |         8          |         50         |
++--------------------+--------------------+--------------------+--------------------+
+
+There are several parameters that need to be defined with values from your environment for a
+successful PNDA deployment within ONAP. These parameters can be grouped in separate files that
+are passed as parameters to helm install. With the following files, the command to install ONAP
+with PNDA would then look like this:
+
+::
+
+    helm install -f ~/pnda.yaml -f ~/pnda-openstack.yaml -f ~/pnda-pem.yaml local/onap -n dev --namespace onap
+
+
+
+``pnda.yaml``
+-------------
+
+This file contains settings to enable PNDA install and the evironment settings required by PNDA.
+
+::
+
+    pnda:
+      dcae-pnda-bootstrap:
+        enabled: true
+        pnda:
+          osUser: {guest-os-username}        # e.g. centos
+          nameserver: nn.nn.nn.nn            # IP address of a reachable nameserver
+          ntp: nn.nn.nn.nn                   # IP address of a reachable NTP server
+          apps:
+            fsType: local
+          networkCidr: 192.168.0.0/24
+          outboundCidr: 0.0.0.0/0
+
+Description
+~~~~~~~~~~~
+
++-----------------------------------------+----------+--------------------------------------------------------+
+|pnda.dcae-pnda-bootstrap.enabled         |boolean   |Deploy PNDA or not.                                     |
++-----------------------------------------+----------+--------------------------------------------------------+
+|pnda.dcae-pnda-bootstrap.pnda.osUser     |string    |Login used during PNDA installation process to connect  |
+|                                         |          |to newly created Openstack PNDA instances.              |
++-----------------------------------------+----------+--------------------------------------------------------+
+|pnda.dcae-pnda-bootstrap.pnda.nameserver |string    |IP address of the nameserver that will be used by all   |
+|                                         |          |Openstack PNDA instances.                               |
++-----------------------------------------+----------+--------------------------------------------------------+
+|pnda.dcae-pnda-bootstrap.pnda.ntp        |string    |Hostname or IP address of a NTP server. This NTP server |
+|                                         |          |MUST be reachable from the Openstack PNDA instances.    |
++-----------------------------------------+----------+--------------------------------------------------------+
+|pnda.dcae-pnda-bootstrap.pnda.apps.fsType|string    |Type of storage used to store PNDA application packages |
+|                                         |          |(s3, sshfs, local, swift). Set it to local.             |
++-----------------------------------------+----------+--------------------------------------------------------+
+|pnda.dcae-pnda-bootstrap.pnda.networkCidr|string    |CIDR specifying the address range for the network       |
+|                                         |          |containing all PNDA instances.                          |
++-----------------------------------------+----------+--------------------------------------------------------+
+|pnda.dcae-pnda-bootstrap.pnda.dataNodes  |number    |Number of data nodes to deploy. Defaults to 2.          |
++-----------------------------------------+----------+--------------------------------------------------------+
+|pnda.dcae-pnda-bootstrap.pnda.kafkaNodes |number    |Number of kafka nodes to deploy. Defaults to 1.         |
++-----------------------------------------+----------+--------------------------------------------------------+
+
+
+``pnda-openstack.yaml``
+-----------------------
+
+This file contains the Openstack connection settings and Openstack entity identifiers.
+
+::
+
+    pnda:
+      dcae-pnda-bootstrap:
+        openstack:
+          keystoneUser: {openstack-username}
+          keystonePassword: {openstack-password}
+          keystoneTenant: {openstack-tenant-name}
+          keystoneAuthUrl: {openstack-auth-url}             # e.g. http://openstack-host:5000/v2.0/
+          keystoneRegion: {openstack-region-name}
+          useExistingNetwork: true
+          existingNetworkId: {kubernetes-cluster-network}
+          existingSubnetId: {kubernetes-cluster-subnet}
+          imageId: {pnda-vm-image-id}                       # Openstack imageId to use for PNDA VMs
+          publicNetworkId: {public-network-id}              # Openstack networkId of public facing network
+          publicSubnetCidr: nn.nn.nn.nn/nn                  # CIDR address of the public subnet e.g. 10.40.10.0/24
+
+Description
+~~~~~~~~~~~
+
++-----------------------------------------------------+----------+-----------------------------------------------+
+|pnda.dcae-pnda-bootstrap.openstack.keystoneUser      |string    |Openstack user.                                |
++-----------------------------------------------------+----------+-----------------------------------------------+
+|pnda.dcae-pnda-bootstrap.openstack.keystonePassword  |string    |Openstack password.                            |
++-----------------------------------------------------+----------+-----------------------------------------------+
+|pnda.dcae-pnda-bootstrap.openstack.keystoneTenant    |string    |Openstack tenant.                              |
++-----------------------------------------------------+----------+-----------------------------------------------+
+|pnda.dcae-pnda-bootstrap.openstack.keystoneAuthUrl   |string    |Openstack authentication url.                  |
++-----------------------------------------------------+----------+-----------------------------------------------+
+|pnda.dcae-pnda-bootstrap.openstack.keystoneRegion    |string    |Openstack region.                              |
++-----------------------------------------------------+----------+-----------------------------------------------+
+|pnda.dcae-pnda-bootstrap.openstack.useExistingNetwork|boolean   |Do you want to create a new Openstack network  |
+|                                                     |          |or do you want to use an already existing one? |
++-----------------------------------------------------+----------+-----------------------------------------------+
+|pnda.dcae-pnda-bootstrap.openstack.existingNetworkId |string    |If you want to use an already existing         |
+|                                                     |          |Openstack network, specify its UUID.           |
++-----------------------------------------------------+----------+-----------------------------------------------+
+|pnda.dcae-pnda-bootstrap.openstack.existingSubnetId  |string    |If you want to use an already existing         |
+|                                                     |          |Openstack network, specify the UUID of the     |
+|                                                     |          |Openstack subnet to use.                       |
++-----------------------------------------------------+----------+-----------------------------------------------+
+|pnda.dcae-pnda-bootstrap.openstack.imageId           |string    |Base image to use for the created Openstack    |
+|                                                     |          |PNDA instances.                                |
++-----------------------------------------------------+----------+-----------------------------------------------+
+|pnda.dcae-pnda-bootstrap.openstack.publicNetworkId   |string    |UUID of the public network in openstack to use.|
++-----------------------------------------------------+----------+-----------------------------------------------+
+|pnda.dcae-pnda-bootstrap.openstack.publicSubnetCidr  |string    |CIDR specifying the address range for the      |
+|                                                     |          |public subnet.                                 |
++-----------------------------------------------------+----------+-----------------------------------------------+
+
+
+``pnda-pem.yaml``
+-----------------
+
+This file contains the private secret and Openstack keypair name to use for the guest VMs in Openstack.
+
+::
+
+    pnda:
+      dcae-pnda-bootstrap:
+        pnda_keypair_name: {keypair-name}    # Name of the keypair you have created in Openstack, e.g. pnda-key
+        pnda_secret: |
+          -----BEGIN DSA PRIVATE KEY-----
+          MIIBugIBAAKBgQCLLCmDJdxCxOOmaSGoH0WUyoiGUJiE0JnzEEhXd4SZWmoxo7yn
+          9d3iA9z2OiOnbQ4s5tAOWknpFEnIwtFb+L2x3Fzv7yEdHBk0tgC8c91sIxb72SVp
+          RgJDaseL2C5RRdWqDiKlXnA1iY7H5z/k/bZD61/4eGdAojVxroQX2H6uLQIVAIrG
+          WVGBudBQmfwKzyP5eO1nevNFAoGAALSGjzP0/yVnEKZ8JO8Vw/eC1YDmTG1IwBdN
+          Rm8fXqyUjd03ijpmOoPISPM6Jt0TrJTvGNVfqSI1mKVznJ+5B7y5M9qvjzHQW5hL
+          GkXHL57mN2QkaJE/m4ilKr/p5RzTBk6c/zhvxg/8DEne6klQ3NQhapzY4cL9aLK6
+          hrR4T94CgYAhGFZI5buQUk8MtG9nac9hEQuYw+lrdjy+y1F8XIjq8+ZLAdCY5gw/
+          ph+4di/R8MyesqG5AtqUqXQY3tibya3YrqyNZ5mTz6kMN1lT26QHwYMBF1IymMWV
+          lq5wzjpctVovYchCLagrh7KepetNigni0Vrjc0TLPbvXQkoLG5JifgIURmDpblYA
+          HSNN6un6nlCoGnm07SA=
+          -----END DSA PRIVATE KEY-----
+
+Description
+~~~~~~~~~~~
+
++------------------------------------------+----------+-------------------------------------------------------+
+|pnda.dcae-pnda-bootstrap.pnda_keypair_name|string    |Name of the keypair to use to spawn the Openstack PNDA |
+|                                          |          |instances.Note that the private key above is a         |
+|                                          |          |generated sample that is unusable.                     |
++------------------------------------------+----------+-------------------------------------------------------+
+|pnda.dcae-pnda-bootstrap.pnda_secret      |string    |Secret key of the pnda_keypair_name keypair.           |
++------------------------------------------+----------+-------------------------------------------------------+