1 .. This work is licensed undera Creative Commons Attribution 4.0
2 .. International License.
3 .. http://creativecommons.org/licenses/by/4.0
4 .. Copyright 2017-2018 ONAP
11 .. index:: Setting Up Full ONAP using Virtual Machines
14 ===============================================
15 **Setting Up Full ONAP using Virtual Machines**
16 ===============================================
18 .. _demo-installing-running-onap:
22 ONAP may be deployed in different contexts depending on your requirements.
23 The recommended installation for Beijng Release over virtual machines is based
24 on OpenStack HEAT Template.
26 The VNFs managed by ONAP may be deployed in different OpenStack tenants or
27 based on top of VMware based infrastructure. For details, refer
28 :ref:`to MultiCloud project<index-multicloud>`.
30 The current installation is based on the single tenant deployment (all the ONAP
31 components will be hosted in a unique tenant).
33 .. _demo-installing-running-onap-requirements:
40 ONAP installation is validated on
41 `OpenStack Ocata <https://releases.openstack.org/ocata/>`_ or latter release.
43 You can use various Cloud providers offering OpenStack based solutions.
44 A list of available Cloud providers on the
45 `OpenStack marketplace <https://www.openstack.org/marketplace/public-clouds/>`_.
47 You can use your private Cloud infrastructure.
49 The following OpenStack components must be deployed in the infrastructure:
58 To deploy OpenStack, you can use various solutions:
59 - `OpenStack installation guide <https://docs.openstack.org/install-guide/>`_
60 - `OPNFV Cross Community Continuous Integration - XCI installer <http://docs.opnfv.org/en/latest/infrastructure/xci.html>`_
61 - `OpenStack Ocata installation guide <https://docs.openstack.org/ocata/install/>`_
64 - Notice the documentation version mentioned in the URL, e.g. ocata/, pike/,
66 - The installation is pretty huge, some automated scripts have been created by
69 - `OpenStack installation with Ansible (All openstack services) <https://docs.openstack.org/openstack-ansible/latest/>`_
70 - `OpenStack Ocata installation scripts for testing environment(DO NOT install Heat, Designate and Cinder Volume services) <https://github.com/reachsrirams/openstack-scripts>`_
72 The OpenStack infrastructure must enable internet access and you need to have
73 an "External network" already configured properly.
74 The External network ID will have to be provided in the Heat environment file.
78 The following table presents the mapping between the created VM and the ONAP
79 components, and provides VM information (flavor and image):
81 =================== ================= ======= ============
82 VM name ONAP project(s) Flavor Image
83 =================== ================= ======= ============
84 onap-aai-inst1 AAI xlarge Ubuntu 14.04
85 onap-aai-inst2 AAI/UI xlarge Ubuntu 14.04
86 onap-appc APPC, CCSDK large Ubuntu 14.04
87 onap-clamp CLAMP medium Ubuntu 16.04
88 onap-dns-server *Internal DNS* small Ubuntu 14.04
89 onap-message-router DMAAP large Ubuntu 14.04
90 onap-multi-service MSB, VF-C, VNFSDK xlarge Ubuntu 16.04
91 onap-policy Policy xlarge Ubuntu 14.04
92 onap-portal Portal, CLI large Ubuntu 14.04
93 onap-robot Integration medium Ubuntu 16.04
94 onap-sdc SDC xlarge Ubuntu 16.04
95 onap-sdnc SDNC, CCSDK large Ubuntu 14.04
96 onap-so SO large Ubuntu 16.04
97 onap-vid VID medium Ubuntu 14.04
98 onap-dcae DCAE, Holmes xlarge Ubuntu 16.04
99 onap-music Music large Ubuntu 14.04
100 onap-oof OOF large Ubuntu 16.04
101 onap-aaf AAF medium Ubuntu 16.04
102 onap-sms AAF medium Ubuntu 16.04
103 onap-nbi External API small Ubuntu 16.04
104 =================== ================= ======= ============
108 The ONAP installation requires the following footprint:
113 - 20 floating IP addresses
115 .. Note: You should also reserve some resources for the VNFs to be deployed.
119 The following artifacts must be deployed on the OpenStack infrastructure:
120 - a public SSH key to access the various VM
121 - Ubuntu 14.04 image (https://cloud-images.ubuntu.com/releases/14.04/14.04/)
122 - Ubuntu 16.04 image (https://cloud-images.ubuntu.com/releases/16.04/release/)
123 - Set of flavors: small, medium, large, xlarge
125 .. Note: The floating IP may be private IP.
127 .. Note: Basic flavors can reuse the default flavors as defined by
129 <https://docs.openstack.org/horizon/latest/admin/manage-flavors.html>`_
133 The default installation assumes that the Default security group is configured
134 to enable full access between the ONAP components.
135 Depending on your environment, we may need to open some security groups
136 (eg when using the portal from your desktop).
138 The list of various services and ports used can be found on the
139 `ONAP wiki - ports <https://wiki.onap.org/display/DW/ONAP+Services+List#ONAPServicesList-ONAPServices>`_.
147 Both following files must be downloaded and configured to match your
151 https://git.onap.org/demo/plain/heat/ONAP/onap_openstack.yaml
153 https://git.onap.org/demo/plain/heat/ONAP/onap_openstack.env
155 The environment file must be customized as described in the following sections.
157 .. Note Beijing release files
162 The ONAP Heat template spins up all the components including the DCAE.
163 The template, onap_openstack.yaml, comes with an environment file,
164 onap_openstack.env, in which all the default values are defined.
166 The Heat template is composed of two sections: (i) parameters, and (ii)
168 The parameter section contains the declaration and
169 description of the parameters that will be used to spin up ONAP, such as
170 public network identifier, URLs of code and artifacts repositories, etc.
171 The default values of these parameters can be found in the environment
174 The resource section contains the definition of:
176 - ONAP Private Management Network, which ONAP components use to communicate
177 with each other and with VNFs
178 - ONAP Virtual Machines (VMs)
179 - Public key pair used to access ONAP VMs
180 - Virtual interfaces towards the ONAP Private Management Network
183 Each VM specification includes Operating System image name, VM size
184 (i.e. flavor), VM name, etc. Each VM has two virtual network interfaces:
185 one towards the public network and one towards the ONAP Private
186 Management network, as described above. Furthermore, each VM runs a
187 post-instantiation script that downloads and installs software
188 dependencies (e.g. Java JDK, gcc, make, Python, ...) and ONAP software
189 packages and Docker containers from remote repositories.
191 When the Heat template is executed, the OpenStack Heat engine creates
192 the resources defined in the Heat template, based on the parameters
193 values defined in the environment file.
198 Before running Heat, it is necessary to customize the environment file.
199 Indeed, some parameters, namely public_net_id, pub_key,
200 openstack_tenant_id, openstack_username, and openstack_api_key,
201 need to be set depending on the user's environment:
203 **Global parameters**
207 public_net_id: PUT YOUR NETWORK ID/NAME HERE
208 pub_key: PUT YOUR PUBLIC KEY HERE
209 openstack_tenant_id: PUT YOUR OPENSTACK PROJECT ID HERE
210 openstack_username: PUT YOUR OPENSTACK USERNAME HERE
211 openstack_api_key: PUT YOUR OPENSTACK PASSWORD HERE
212 keystone_url: PUT THE KEYSTONE URL HERE (do not include version number)
214 openstack_region parameter is set to RegionOne (OpenStack default). If
215 your OpenStack is using another Region, please modify this parameter.
217 public_net_id is the unique identifier (UUID) or name of the public
218 network of the cloud provider. To get the public_net_id, use the
219 following OpenStack CLI command (ext is the name of the external
220 network, change it with the name of the external network of your
225 openstack network list | grep ext | awk '{print $2}'
227 pub_key is string value of the public key that will be installed in
228 each ONAP VM. To create a public/private key pair in Linux, please
229 execute the following instruction:
233 user@ubuntu:~$ ssh-keygen -t rsa
235 The following operations create the public/private key pair:
239 Generating public/private rsa key pair.
240 Enter file in which to save the key (/home/user/.ssh/id_rsa):
241 Created directory '/home/user/.ssh'.
242 Enter passphrase (empty for no passphrase):
243 Enter same passphrase again:
244 Your identification has been saved in /home/user/.ssh/id_rsa.
245 Your public key has been saved in /home/user/.ssh/id_rsa.pub.
247 openstack_username, openstack_tenant_id (password), and
248 openstack_api_key are user's credentials to access the
249 OpenStack-based cloud.
251 **Images and flavors parameters**
255 ubuntu_1404_image: PUT THE UBUNTU 14.04 IMAGE NAME HERE
256 ubuntu_1604_image: PUT THE UBUNTU 16.04 IMAGE NAME HERE
257 flavor_small: PUT THE SMALL FLAVOR NAME HERE
258 flavor_medium: PUT THE MEDIUM FLAVOR NAME HERE
259 flavor_large: PUT THE LARGE FLAVOR NAME HERE
260 flavor_xlarge: PUT THE XLARGE FLAVOR NAME HERE
262 To get the images in your OpenStack environment, use the following
263 OpenStack CLI command:
267 openstack image list | grep 'ubuntu'
269 To get the flavor names used in your OpenStack environment, use the
270 following OpenStack CLI command:
274 openstack flavor list
276 **Network parameters**
280 dns_list: PUT THE ADDRESS OF THE EXTERNAL DNS HERE (e.g. a comma-separated list
281 of IP addresses in your /etc/resolv.conf in UNIX-based Operating Systems)
282 external_dns: PUT THE FIRST ADDRESS OF THE EXTERNAL DNS LIST HERE
283 dns_forwarder: PUT THE IP OF DNS FORWARDER FOR ONAP DEPLOYMENT'S OWN DNS SERVER
284 oam_network_cidr: 10.0.0.0/16
286 You can use the Google Public DNS 8.8.8.8 and 4.4.4.4 address or your internal
289 ONAP installs a DNS server used to resolve IP addresses in the ONAP OAM private
294 For Beijing Release, all the DCAE components are deployed in a single
296 You must specify R2 to run R2 DCAE components.
297 Is you are using R1 to get R1 ONAP, you must fill all the other
299 Please refer to the Amsterdam documentation to fill these parameters.
302 dcae_deployment_profile: PUT DCAE DEPLOYMENT PROFILE (R1, R2MVP, R2, or R2PLUS)
307 The ONAP platform can be instantiated via Horizon (OpenStack dashboard)
310 **Instantiation via Horizon:**
312 - Login to Horizon URL with your personal credentials
313 - Click "Stacks" from the "Orchestration" menu
314 - Click "Launch Stack"
315 - Paste or manually upload the Heat template file (onap_openstack.yaml) in the
316 "Template Source" form
317 - Paste or manually upload the Heat environment file (onap_openstack.env) in
318 the "Environment Source" form
319 - Click "Next" - Specify a name in the "Stack Name" form
320 - Provide the password in the "Password" form
323 **Instantiation via Command Line:**
325 - You need to have the OpenStack Heat service installed:
327 - Create a file (named i.e. ~/openstack/openrc) that sets all the
328 environmental variables required to access your OpenStack tenant:
332 export OS_AUTH_URL=INSERT THE AUTH URL HERE
333 export OS_USERNAME=INSERT YOUR USERNAME HERE
334 export OS_TENANT_ID=INSERT YOUR TENANT ID HERE
335 export OS_REGION_NAME=INSERT THE REGION HERE
336 export OS_PASSWORD=INSERT YOUR PASSWORD HERE
337 export OS_USER_DOMAIN_NAME=INSERT YOUR DOMAIN HERE
338 export OS_PROJECT_NAME=INSERT YOUR PROJECT NAME HERE
340 - Run the script from command line:
344 source ~/openstack/openrc
346 - In order to install the ONAP platform, type:
354 heat stack-create STACK_NAME -f PATH_TO_HEAT_TEMPLATE(YAML FILE)
361 # New OpenStack client
362 openstack stack create -t PATH_TO_HEAT_TEMPLATE(YAML FILE)
363 -e PATH_TO_ENV_FILE STACK_NAME
366 .. Note The Heat template deployment may take time (up to one hour)
367 depending on your hardware environment.
369 Test the installation
370 ---------------------
371 Every ONAP component offers a HealthCheck REST API. The Robot Virtual Machine
372 (*onap-robot*) can be used to test that every components run smoothly.
373 Run the following command to perform the HealthCheck:
377 docker exec -it openecompete_container /var/opt/OpenECOMP_ETE/runTags.sh
380 -V /share/config/integration_robot_properties.py
381 -V /share/config/integration_preload_parameters.py
382 -V /share/config/vm_properties.py
384 This test suite will execute 40 tests towards the various ONAP components.
386 After the installation, it is possible to deploy the various use-cases
387 described in `ONAP wiki - demos <https://wiki.onap.org/display/DW/Running+the+ONAP+Demos>`_.
391 If all the tests are not OK, many causes are possible.
392 Here is a simple procedure to detect where the problem occurs:
394 * Check the OpenStack Virtual Machine logs
395 * Connect to the Virtual Machine and check that the various containers are
398 The list of containers are described on the `ONAP wiki - containers <https://wiki.onap.org/display/DW/ONAP+Services+List#ONAPServicesList-ONAPServices>`_.
399 In case some containers are missing, check the Docker logs using the following
405 sudo docker logs <containerid>
407 **Portal configuration**
408 ========================
409 The current ONAP installation is using the *onap.org* domain.
410 To use the portal on your desktop, you must configure the following information
411 in your *host* file (located in /etc/hosts for Linux or
412 /windows/system32/drivers/etc/hosts for Windows):
416 <onap-policy_ip> policy.api.simpledemo.onap.org
417 <onap-portal_ip> portal.api.simpledemo.onap.org
418 <onap-sdc_ip> sdc.api.simpledemo.onap.org
419 <onap-vid_ip> vid.api.simpledemo.onap.org
420 <onap-aai-inst1_ip> aai.api.simpledemo.onap.org
421 <onap-aai-inst2_ip> aai.ui.simpledemo.onap.org
424 You can use the Horizon dashboard to get the IP addresses associated with the
425 Virtual Machines or use the following command line:
429 openstack server list
431 Launch the portal on the
432 http://portal.api.simpledemo.onap.org:8989/ONAPPORTAL/login.htm
434 Various users are predefined as presented in the following table:
446 The password is *demo123456!*
448 Go to the `Portal component user guide
449 <http://onap.readthedocs.io/en/latest/submodules/portal.git/docs/index.html>`_
451 Other UI documentation:
452 - `CLAMP <http://onap.readthedocs.io/en/latest/submodules/clamp.git/docs/index.html>`_
453 - `SDC <http://onap.readthedocs.io/en/latest/submodules/sdc.git/docs/index.html>`_
454 - `UI Use-Case <http://onap.readthedocs.io/en/latest/submodules/usecase-ui.git/docs/index.html>`_
460 The list of various services and ports used can be found on the
461 `ONAP wiki - services <https://wiki.onap.org/display/DW/ONAP+Services+List#ONAPServicesList-ONAPServices>`_
463 .. This work is licensed under a Creative Commons Attribution 4.0
464 .. International License.
465 .. http://creativecommons.org/licenses/by/4.0
466 .. Copyright 2017-2018 ONAP