Updates docs for SR1 with final revision
[genesis.git] / fuel / deploy / README
1
2 ======== PREREQUISITES ========
3
4 the following dependencies and python modules are required to be installed:
5
6 - for Ubuntu:
7
8 sudo apt-get install -y libvirt-bin qemu-kvm python-pip fuseiso mkisofs
9 sudo apt-get install -y python-dev libz-dev libxml2-dev libxslt-dev
10 sudo pip install pyyaml netaddr paramiko lxml scp pycrypto ecdsa
11
12 During libvirt install the user is added to the libvirtd group, so you have to
13 logout then login back again
14
15
16 ======== PREPARE and RUN the OPNFV Autodeployment ========
17
18
19 --- Step.1 Prepare the DEA and DHA configuration files and the OPNFV ISO file
20
21 Make sure that you are using the right DEA - Deployment Environment Adapter and
22 DHA - Deployment Hardware Adapter configuration files, the ones provided are only templates
23 you will have to modify them according to your needs
24
25 - If wou wish to deploy OPNFV cloud environment on top of KVM/Libvirt
26   virtualization use as example the following configuration files:
27
28   * SR1 configuration files
29
30   =>   templates/virtual_environment/conf/ha
31                 dea.yaml
32                 dha.yaml
33
34
35   * ARNO configuration files
36
37   =>   templates/virtual_environment/old_conf/ha
38                 dea.yaml
39                 dha.yaml
40
41   =>   templates/virtual_environment/old_conf/multinode
42                 dea.yaml
43                 dha.yaml
44
45
46 - If you wish to deploy OPNFV cloud environment on hardware
47   use as example the following configuration files:
48
49   * SR1 configuration files
50
51   =>   templates/hardware_environment/conf/ericsson_montreal_lab/ha
52                 dea.yaml
53                 dha.yaml
54
55   =>   templates/hardware_environment/conf/linux_foundation_lab/pod1/ha
56                 dea.yaml
57                 dha.yaml
58
59   =>   templates/hardware_environment/conf/linux_foundation_lab/pod2/ha
60                 dea.yaml
61                 dha.yaml
62
63
64   * ARNO configuration files
65
66   =>   templates/hardware_environment/old_conf/ericsson_montreal_lab/ha
67                 dea.yaml
68                 dha.yaml
69
70   =>   templates/hardware_environment/old_conf/ericsson_montreal_lab/multinode
71                 dea.yaml
72                 dha.yaml
73
74   =>   templates/hardware_environment/old_conf/linux_foundation_lab/ha
75                 dea.yaml
76                 dha.yaml
77
78   =>   templates/hardware_environment/old_conf/linux_foundation_lab/multinode
79                 dea.yaml
80                 dha.yaml
81
82
83 --- Step.2 Run Autodeployment ---
84
85 usage: python deploy.py [-h] [-nf] [-nh] [-fo] [-co] [-c] [-iso [ISO_FILE]]
86                         [-dea [DEA_FILE]] [-dha [DHA_FILE]] [-s STORAGE_DIR]
87                         [-b PXE_BRIDGE] [-p FUEL_PLUGINS_DIR]
88
89 optional arguments:
90   -h, --help           show this help message and exit
91   -nf                  Do not install Fuel Master (and Node VMs when using libvirt)
92   -nh                  Don't run health check after deployment
93   -fo                  Install Fuel Master only (and Node VMs when using libvirt)
94   -co                  Cleanup VMs and Virtual Networks according to what is
95                        defined in DHA
96   -c                   Cleanup after deploy
97   -iso [ISO_FILE]      ISO File [default: OPNFV.iso]
98   -dea [DEA_FILE]      Deployment Environment Adapter: dea.yaml
99   -dha [DHA_FILE]      Deployment Hardware Adapter: dha.yaml
100   -s STORAGE_DIR       Storage Directory [default: images]
101   -b PXE_BRIDGE        Linux Bridge for booting up the Fuel Master VM
102                        [default: pxebr]
103   -p FUEL_PLUGINS_DIR  Fuel Plugins directory
104
105
106 * EXAMPLES:
107
108 - Install Fuel Master and deploy OPNFV Cloud from scratch on Hardware Environment:
109
110     sudo python deploy.py -iso ~/ISO/opnfv.iso -dea ~/CONF/hardware/dea.yaml -dha ~/CONF/hardware/dha.yaml -s /mnt/images -b pxebr
111
112
113 - Install Fuel Master and deploy OPNFV Cloud from scratch on Virtual Environment:
114
115     sudo python deploy.py -iso ~/ISO/opnfv.iso -dea ~/CONF/virtual/dea.yaml -dha ~/CONF/virtual/dha.yaml -s /mnt/images
116
117
118 - Deploy OPNFV Cloud on an already active Environment where Fuel Master VM is running so no need to install Fuel again:
119
120     sudo python deploy.py -nf -dea ~/CONF/virtual/dea.yaml -dha ~/CONF/virtual/dha.yaml
121
122     => with plugin installation
123     sudo python deploy.py -nf -dea ~/CONF/virtual/dea.yaml -dha ~/CONF/virtual/dha.yaml
124
125     => with cleanup after deployment is finished
126     sudo python deploy.py -nf -dea ~/CONF/virtual/dea.yaml -dha ~/CONF/virtual/dha.yaml -c
127
128     => no healthcheck after deployment is completed
129     sudo python deploy.py -nf -dea ~/CONF/virtual/dea.yaml -dha ~/CONF/virtual/dha.yaml -nh
130
131
132 - Install Fuel Master only (and Node VMs when using virtual environment):
133
134     => for virtual environment:
135     sudo python deploy.py -iso ~/ISO/opnfv.iso -dea ~/CONF/virtual/dea.yaml -dha ~/CONF/virtual/dha.yaml -s /mnt/images
136
137     => for hardware environment:
138     sudo python deploy.py -iso ~/ISO/opnfv.iso -dea ~/CONF/hardware/dea.yaml -dha ~/CONF/hardware/dha.yaml -s /mnt/images -b pxebr
139
140
141 - Cleanup a running OPNFV environment:
142
143     sudo python deploy.py -co -dha ~/CONF/virtual/dha.yaml
144
145
146 * WARNINGS:
147
148 =>  If optional argument -s <storage_dir> is not specified, Autodeployment will use
149 "<current_working_dir>/images" as default, and it will create it, if it hasn't been created before
150
151 =>  If optional argument -b <pxe_bridge> is not specified, Autodeployment will use "pxebr" as default,
152 if the bridge does not exist, the application will terminate with an error message
153
154 =>  If argument -iso [ISO_FILE] is not specified, Autodeployment will use "<current_working_dir>/OPNFV.iso"
155 as default, if the iso file does not exist, the application will terminate with an error message
156
157 =>  If argument -dea [DEA_FILE] is not specified, Autodeployment will use "<current_working_dir>/dea.yaml"
158 as default, if DEA file does not exist, the application will terminate with an error message
159
160 =>  If argument -dha [DHA_FILE] is not specified, Autodeployment will use "<current_working_dir>/dha.yaml"
161 as default, if DHA file does not exist, the application will terminate with an error message
162
163 => Optional argument -b PXE_BRIDGE is not required for Autodeployment in virtual environment,
164    even if it is specified it will not be used at all because virtual environment is using a different virtual network setup
165
166 => If optional argument -p FUEL_PLUGINS_DIR is not specified, no external plugins will be installed in Fuel
167
168
169 --- Networking considerations ---
170
171 For Virtual Environment:
172
173 There are some NAT, IPTABLE conflicts on the edge of libvirt bridging and Fuel Master
174 according to http://wiki.libvirt.org/page/Networking
175 netfilter on the bridges should be disabled
176
177 Add these lines to /etc/sysctl.conf
178
179 cat >> /etc/sysctl.conf <<EOF
180 net.bridge.bridge-nf-call-ip6tables = 0
181 net.bridge.bridge-nf-call-iptables = 0
182 net.bridge.bridge-nf-call-arptables = 0
183 EOF
184
185 and then reload configuration:
186 sysctl -p /etc/sysctl.conf