2 ======== PREREQUISITES ========
4 the following dependencies and python modules are required to be installed:
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
12 During libvirt install the user is added to the libvirtd group, so you have to
13 logout then login back again
16 ======== PREPARE and RUN the OPNFV Autodeployment ========
19 --- Step.1 Prepare the DEA and DHA configuration files and the OPNFV ISO file
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
25 - If wou wish to deploy OPNFV cloud environment on top of KVM/Libvirt
26 virtualization use as example the following configuration files:
28 * SR1 configuration files
30 => templates/virtual_environment/conf/ha
35 * ARNO configuration files
37 => templates/virtual_environment/old_conf/ha
41 => templates/virtual_environment/old_conf/multinode
46 - If you wish to deploy OPNFV cloud environment on hardware
47 use as example the following configuration files:
49 * SR1 configuration files
51 => templates/hardware_environment/conf/ericsson_montreal_lab/ha
55 => templates/hardware_environment/conf/linux_foundation_lab/pod1/ha
59 => templates/hardware_environment/conf/linux_foundation_lab/pod2/ha
64 * ARNO configuration files
66 => templates/hardware_environment/old_conf/ericsson_montreal_lab/ha
70 => templates/hardware_environment/old_conf/ericsson_montreal_lab/multinode
74 => templates/hardware_environment/old_conf/linux_foundation_lab/ha
78 => templates/hardware_environment/old_conf/linux_foundation_lab/multinode
83 --- Step.2 Run Autodeployment ---
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]
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
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
103 -p FUEL_PLUGINS_DIR Fuel Plugins directory
108 - Install Fuel Master and deploy OPNFV Cloud from scratch on Hardware Environment:
110 sudo python deploy.py -iso ~/ISO/opnfv.iso -dea ~/CONF/hardware/dea.yaml -dha ~/CONF/hardware/dha.yaml -s /mnt/images -b pxebr
113 - Install Fuel Master and deploy OPNFV Cloud from scratch on Virtual Environment:
115 sudo python deploy.py -iso ~/ISO/opnfv.iso -dea ~/CONF/virtual/dea.yaml -dha ~/CONF/virtual/dha.yaml -s /mnt/images
118 - Deploy OPNFV Cloud on an already active Environment where Fuel Master VM is running so no need to install Fuel again:
120 sudo python deploy.py -nf -dea ~/CONF/virtual/dea.yaml -dha ~/CONF/virtual/dha.yaml
122 => with plugin installation
123 sudo python deploy.py -nf -dea ~/CONF/virtual/dea.yaml -dha ~/CONF/virtual/dha.yaml
125 => with cleanup after deployment is finished
126 sudo python deploy.py -nf -dea ~/CONF/virtual/dea.yaml -dha ~/CONF/virtual/dha.yaml -c
128 => no healthcheck after deployment is completed
129 sudo python deploy.py -nf -dea ~/CONF/virtual/dea.yaml -dha ~/CONF/virtual/dha.yaml -nh
132 - Install Fuel Master only (and Node VMs when using virtual environment):
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
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
141 - Cleanup a running OPNFV environment:
143 sudo python deploy.py -co -dha ~/CONF/virtual/dha.yaml
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
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
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
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
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
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
166 => If optional argument -p FUEL_PLUGINS_DIR is not specified, no external plugins will be installed in Fuel
169 --- Networking considerations ---
171 For Virtual Environment:
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
177 Add these lines to /etc/sysctl.conf
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
185 and then reload configuration:
186 sysctl -p /etc/sysctl.conf