Autodeployer support for ODL Plugin installation + Fuel 6.1
[genesis.git] / fuel / deploy / README.txt
index 33baff1..f42e9ac 100644 (file)
@@ -1,15 +1,16 @@
 
 ======== PREREQUISITES ========
 
-the following applications and python modules are required to be installed:
+the following dependencies and python modules are required to be installed:
 
-- example for Ubuntu environment:
+- for Ubuntu:
 
-sudo apt-get install -y libvirt-bin qemu-kvm tightvncserver virt-manager
-sshpass fuseiso genisoimage blackbox xterm python-pip
-sudo restart libvirt-bin
-sudo pip install pyyaml netaddr paramiko lxml scp
+sudo apt-get install -y libvirt-bin qemu-kvm python-pip fuseiso mkisofs
+sudo apt-get install -y python-dev libz-dev libxml2-dev libxslt-dev
+sudo pip install pyyaml netaddr paramiko lxml scp pycrypto ecdsa
 
+During libvirt install the user is added to the libvirtd group, so you have to
+logout then login back again
 
 
 ======== PREPARE and RUN the OPNFV Autodeployment ========
@@ -24,86 +25,162 @@ you will have to modify them according to your needs
 - If wou wish to deploy OPNFV cloud environment on top of KVM/Libvirt
   virtualization use as example the following configuration files:
 
-  =>   libvirt/conf/ha
+  * SR1 configuration files
+
+  =>   templates/virtual_environment/conf/ha
+                dea.yaml
+                dha.yaml
+
+
+  * ARNO configuration files
+
+  =>   templates/virtual_environment/old_conf/ha
                 dea.yaml
                 dha.yaml
 
-  =>   libvirt/conf/multinode
+  =>   templates/virtual_environment/old_conf/multinode
                 dea.yaml
                 dha.yaml
 
 
-- If you wish to deploy OPNFV cloud environment on baremetal
+- If you wish to deploy OPNFV cloud environment on hardware
   use as example the following configuration files:
 
-  =>   baremetal/conf/ericsson_montreal_lab/ha
+  * SR1 configuration files
+
+  =>   templates/hardware_environment/conf/ericsson_montreal_lab/ha
                 dea.yaml
                 dha.yaml
 
-  =>   baremetal/conf/ericsson_montreal_lab/multinode
+  =>   templates/hardware_environment/conf/linux_foundation_lab/pod1/ha
                 dea.yaml
                 dha.yaml
 
-  =>   baremetal/conf/linux_foundation_lab/ha
+  =>   templates/hardware_environment/conf/linux_foundation_lab/pod2/ha
                 dea.yaml
                 dha.yaml
 
-  =>   baremetal/conf/linux_foundation_lab/multinode
+
+  * ARNO configuration files
+
+  =>   templates/hardware_environment/old_conf/ericsson_montreal_lab/ha
                 dea.yaml
                 dha.yaml
 
+  =>   templates/hardware_environment/old_conf/ericsson_montreal_lab/multinode
+                dea.yaml
+                dha.yaml
 
---- Step.2 Run Autodeployment:
+  =>   templates/hardware_environment/old_conf/linux_foundation_lab/ha
+                dea.yaml
+                dha.yaml
+
+  =>   templates/hardware_environment/old_conf/linux_foundation_lab/multinode
+                dea.yaml
+                dha.yaml
 
-usage: python deploy.py [-h] [-nf] [-s [STORAGE_DIR]] [-b [PXE_BRIDGE]]
-                        [iso_file] dea_file dha_file
 
-positional arguments:
-  iso_file          ISO File [default: OPNFV.iso]
-  dea_file          Deployment Environment Adapter: dea.yaml
-  dha_file          Deployment Hardware Adapter: dha.yaml
+--- Step.2 Run Autodeployment ---
+
+usage: python deploy.py [-h] [-nf] [-nh] [-fo] [-co] [-c] [-iso [ISO_FILE]]
+                        [-dea [DEA_FILE]] [-dha [DHA_FILE]] [-s STORAGE_DIR]
+                        [-b PXE_BRIDGE] [-p FUEL_PLUGINS_DIR]
 
 optional arguments:
-  -h, --help        show this help message and exit
-  -nf               Do not install Fuel Master (and Node VMs when using
-                    libvirt)
-  -s [STORAGE_DIR]  Storage Directory [default: images]
-  -b [PXE_BRIDGE]   Linux Bridge for booting up the Fuel Master VM [default:
-                    pxebr]
+  -h, --help           show this help message and exit
+  -nf                  Do not install Fuel Master (and Node VMs when using libvirt)
+  -nh                  Don't run health check after deployment
+  -fo                  Install Fuel Master only (and Node VMs when using libvirt)
+  -co                  Cleanup VMs and Virtual Networks according to what is
+                       defined in DHA
+  -c                   Cleanup after deploy
+  -iso [ISO_FILE]      ISO File [default: OPNFV.iso]
+  -dea [DEA_FILE]      Deployment Environment Adapter: dea.yaml
+  -dha [DHA_FILE]      Deployment Hardware Adapter: dha.yaml
+  -s STORAGE_DIR       Storage Directory [default: images]
+  -b PXE_BRIDGE        Linux Bridge for booting up the Fuel Master VM
+                       [default: pxebr]
+  -p FUEL_PLUGINS_DIR  Fuel Plugins directory
 
 
-* WARNING:
+* EXAMPLES:
 
-If optional argument -s <storage_dir> is not specified, Autodeployment will use
-"<current_working_dir>/images" as default, and it will create it, if it hasn't been created before
+- Install Fuel Master and deploy OPNFV Cloud from scratch on Hardware Environment:
 
-If optional argument -b <pxe_bridge> is not specified, Autodeployment will use "pxebr" as default,
-if the bridge does not exist, the application will terminate with an error message
+    sudo python deploy.py -iso ~/ISO/opnfv.iso -dea ~/CONF/hardware/dea.yaml -dha ~/CONF/hardware/dha.yaml -s /mnt/images -b pxebr -p ~/PLUGIN
 
-IF optional argument <iso_file> is not specified, Autodeployment will use "<current_working_dir>/OPNFV.iso"
-as default, if the iso file does not exist, the application will terminate with an error message
 
-<pxe_bridge> is not required for Autodeployment in virtual environment, even if it is specified
-it will not be used at all
+- Install Fuel Master and deploy OPNFV Cloud from scratch on Virtual Environment:
 
+    sudo python deploy.py -iso ~/ISO/opnfv.iso -dea ~/CONF/virtual/dea.yaml -dha ~/CONF/virtual/dha.yaml -s /mnt/images -p ~/PLUGIN
 
-* EXAMPLES:
 
-- Install Fuel Master and deploy OPNFV Cloud from scratch on Baremetal Environment
+- Deploy OPNFV Cloud on an already active Environment where Fuel Master VM is running so no need to install Fuel again:
+
+    sudo python deploy.py -nf -dea ~/CONF/virtual/dea.yaml -dha ~/CONF/virtual/dha.yaml
+
+    => with plugin installation
+    sudo python deploy.py -nf -dea ~/CONF/virtual/dea.yaml -dha ~/CONF/virtual/dha.yaml -p ~/PLUGIN
+
+    => with cleanup after deployment is finished
+    sudo python deploy.py -nf -dea ~/CONF/virtual/dea.yaml -dha ~/CONF/virtual/dha.yaml -p ~/PLUGIN -c
+
+    => no healthcheck after deployment is completed
+    sudo python deploy.py -nf -dea ~/CONF/virtual/dea.yaml -dha ~/CONF/virtual/dha.yaml -p ~/PLUGIN -nh
+
+
+- Install Fuel Master only (and Node VMs when using virtual environment):
+
+    => for virtual environment:
+    sudo python deploy.py -iso ~/ISO/opnfv.iso -dea ~/CONF/virtual/dea.yaml -dha ~/CONF/virtual/dha.yaml -s /mnt/images
+
+    => for hardware environment:
+    sudo python deploy.py -iso ~/ISO/opnfv.iso -dea ~/CONF/hardware/dea.yaml -dha ~/CONF/hardware/dha.yaml -s /mnt/images -b pxebr
+
+
+- Cleanup a running OPNFV environment:
+
+    sudo python deploy.py -co -dha ~/CONF/virtual/dha.yaml
+
+
+* WARNINGS:
+
+=>  If optional argument -s <storage_dir> is not specified, Autodeployment will use
+"<current_working_dir>/images" as default, and it will create it, if it hasn't been created before
+
+=>  If optional argument -b <pxe_bridge> is not specified, Autodeployment will use "pxebr" as default,
+if the bridge does not exist, the application will terminate with an error message
+
+=>  If argument -iso [ISO_FILE] is not specified, Autodeployment will use "<current_working_dir>/OPNFV.iso"
+as default, if the iso file does not exist, the application will terminate with an error message
+
+=>  If argument -dea [DEA_FILE] is not specified, Autodeployment will use "<current_working_dir>/dea.yaml"
+as default, if DEA file does not exist, the application will terminate with an error message
 
-sudo python deploy.py ~/ISO/opnfv.iso ~/CONF/baremetal/dea.yaml ~/CONF/baremetal/dha.yaml -s /mnt/images -b pxebr
+=>  If argument -dha [DHA_FILE] is not specified, Autodeployment will use "<current_working_dir>/dha.yaml"
+as default, if DHA file does not exist, the application will terminate with an error message
 
+=> Optional argument -b PXE_BRIDGE is not required for Autodeployment in virtual environment,
+   even if it is specified it will not be used at all because virtual environment is using a different virtual network setup
 
-- Install Fuel Master and deploy OPNFV Cloud from scratch on Virtual Environment
+=> If optional argument -p FUEL_PLUGINS_DIR is not specified, no plugins will be installed in Fuel
 
-sudo python deploy.py ~/ISO/opnfv.iso ~/CONF/virtual/dea.yaml ~/CONF/virtual/dha.yaml -s /mnt/images
 
+--- Networking considerations ---
 
+For Virtual Environment:
 
-- Deploy OPNFV Cloud on an already active Environment where Fuel Master VM is running
-  so no need to install Fuel again
+There are some NAT, IPTABLE conflicts on the edge of libvirt bridging and Fuel Master
+according to http://wiki.libvirt.org/page/Networking
+netfilter on the bridges should be disabled
 
-sudo python deploy.py -nf ~/CONF/baremetal/dea.yaml ~/CONF/baremetal/dha.yaml
+Add these lines to /etc/sysctl.conf
 
-sudo python deploy.py -nf ~/CONF/virtual/dea.yaml ~/CONF/virtual/dha.yaml
+cat >> /etc/sysctl.conf <<EOF
+net.bridge.bridge-nf-call-ip6tables = 0
+net.bridge.bridge-nf-call-iptables = 0
+net.bridge.bridge-nf-call-arptables = 0
+EOF
 
+and then reload configuration:
+sysctl -p /etc/sysctl.conf