summaryrefslogtreecommitdiffstats
path: root/docs/sections/installation_pnda.rst
blob: 1cafc01fcfc4f31ecc871e898af42b4579fc86ec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
.. This work is licensed under a Creative Commons Attribution 4.0 International License.
.. http://creativecommons.org/licenses/by/4.0

Installing PNDA Platform through Helm Chart
===========================================

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.

Note: The docker images used for PNDA deployments are maintained in registry outside of ONAP currently under pndareg.ctao6.net.
This will be moved to ONAP nexus3 repo part of future release work.

* onap/org.onap.dcaegen2.deployments.pnda-bootstrap-container:5.0.0 
* onap/org.onap.dcaegen2.deployments.pnda-mirror-container:5.0.0

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.           |
+------------------------------------------+----------+-------------------------------------------------------+