Merge "Change from using chef to local config files"
[integration.git] / bootstrap / vagrant-onap / doc / source / features / consuming_scripts.rst
1 ==============================
2 Using the provisioning scripts
3 ==============================
4
5 Vagrant is a platform that uses prebaked images called
6 *vagrant boxes* to guarranty that running multiple times a
7 provisioning script will result in an expected output. This
8 mechanism is crucial for reducing the number of external factors
9 during the creation, development and testing of provisioning scripts. 
10 However, it's possible to provide an ONAP development enviroment
11 without having to install Vagrant tool. This document explains how to
12 consume the provisioning scripts localed in **./lib** folder to
13 provision a development environment and the environment variables
14 that modifies their behavior.
15
16 This project was built on an Ubuntu 14.04 ("Trusty") Operating System,
17 therefore it's necessary to have an user who has *sudo* permissions to
18 access to a Bare Metal or Virtual Machine.
19
20 The following instructions retrieve the provisioning scripts and place
21 them into the */var/onap/* folder.
22
23 .. code-block:: console
24
25     $ sudo su -
26     # apt-get install git -y
27     # git clone https://git.onap.org/integration
28     # mv integration/bootstrap/vagrant-onap/lib/ /var/onap/
29
30 .. end
31
32 Loading a provisioning script will be based on the desired ONAP
33 service, for example to setup the development environment for Active
34 and Available Inventory (AAI) service will be required to load the
35 */var/onap/aai* script.
36
37 .. note::
38
39     The **git_src_folder** environment variable specifies the
40     source code destination folder, it's default value is */opt/*
41     but it can be changed only after is loaded the provisioning
42     scripts.
43
44 .. end
45
46 .. code-block:: console
47
48     # source /var/onap/aai
49
50 .. end
51
52 Lastly, every script has defined a initialization function with
53 *init_* as prefix. This function is the starting point to provision
54 the chosen ONAP service. This example uses the *init_aai* function
55 to provision a AAI Developement environment.
56
57 .. note::
58
59     The **compile_repo** environment variable defines whether or not
60     the source code located on the repositories of the service.
61     Enabling this value can impact the provisioning time of the
62     service.
63
64 .. end
65 .. note::
66
67     **nexus_docker_repo**, **nexus_username** and **nexus_password**
68     environment variables specify the connectivity to a private Docker
69     Hub.
70
71 .. end
72 .. note::
73
74     **build_image** environment variable allows the Docker images
75     from source code.  Enabling this value can impact the
76     provisioning time of the service.
77
78 .. end
79
80 .. code-block:: console
81
82     # export nexus_docker_repo="nexus3.onap.org:10001"
83     # export nexus_username="docker"
84     # export nexus_password="docker"
85     # init_aai
86
87 .. end
88
89 As result, the source code is pulled into */opt/aai/* folder and the
90 AAI services are up and running with the proper connection to the
91 Titan Distributed Graph Database.