Updating ci deploy script + argument parsing improvements 68/868/2
authorSzilard Cserey <szilard.cserey@ericsson.com>
Thu, 18 Jun 2015 15:05:03 +0000 (17:05 +0200)
committerSzilard Cserey <szilard.cserey@ericsson.com>
Thu, 18 Jun 2015 20:01:15 +0000 (22:01 +0200)
JIRA: [BGS-2] Create Fuel deployment script

Change-Id: I891d574a5f8593a83edc89bb145bde90943c593f
Signed-off-by: Szilard Cserey <szilard.cserey@ericsson.com>
fuel/ci/deploy.sh
fuel/deploy/README.txt
fuel/deploy/deploy.py
fuel/deploy/install_fuel_master.py

index df23249..5923f5c 100755 (executable)
@@ -1,12 +1,9 @@
-#!/bin/bash -x
-set -o xtrace
-set -o errexit
-set -o nounset
-set -o pipefail
+#!/bin/bash
+topdir=$(dirname $(readlink -f $BASH_SOURCE))
+deploydir=$(cd ${topdir}/../deploy; pwd)
 
 
-WORKSPACE=$(readlink -e ..)
-ISO_LOCATION="$(readlink -f $(find $WORKSPACE -iname 'fuel*iso' -type f))"
-INTERFACE="fuel"
+pushd ${deploydir} > /dev/null
+echo -e "python deploy.py $@\n"
+python deploy.py $@
+popd > /dev/null
 
 
-cd "${WORKSPACE}/deploy"
-./deploy_fuel.sh "$ISO_LOCATION" $INTERFACE 2>&1 | tee deploy_fuel.log
index 6f322d0..33baff1 100644 (file)
@@ -55,32 +55,32 @@ you will have to modify them according to your needs
 
 --- Step.2 Run Autodeployment:
 
 
 --- Step.2 Run Autodeployment:
 
-usage: python deploy.py [-h] [-nf]
-                        [iso_file] dea_file dha_file [storage_dir]
-                        [pxe_bridge]
+usage: python deploy.py [-h] [-nf] [-s [STORAGE_DIR]] [-b [PXE_BRIDGE]]
+                        [iso_file] dea_file dha_file
 
 positional arguments:
 
 positional arguments:
-  iso_file     ISO File [default: OPNFV.iso]
-  dea_file     Deployment Environment Adapter: dea.yaml
-  dha_file     Deployment Hardware Adapter: dha.yaml
-  storage_dir  Storage Directory [default: images]
-  pxe_bridge   Linux Bridge for booting up the Fuel Master VM [default: pxebr]
+  iso_file          ISO File [default: OPNFV.iso]
+  dea_file          Deployment Environment Adapter: dea.yaml
+  dha_file          Deployment Hardware Adapter: dha.yaml
 
 optional arguments:
 
 optional arguments:
-  -h, --help   show this help message and exit
-  -nf          Do not install Fuel Master (and Node VMs when using libvirt)
+  -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]
 
 
 * WARNING:
 
 
 
 * WARNING:
 
-If <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 -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 <pxe_bridge> is not specified, Autodeployment will use "pxebr" as default,
+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 the bridge does not exist, the application will terminate with an error message
 
-IF <storage_dir> is not specified, Autodeployment will use "<current_working_dir>/OPNFV.iso"
+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
 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
@@ -91,12 +91,12 @@ it will not be used at all
 
 - Install Fuel Master and deploy OPNFV Cloud from scratch on Baremetal Environment
 
 
 - Install Fuel Master and deploy OPNFV Cloud from scratch on Baremetal Environment
 
-sudo python deploy.py ~/ISO/opnfv.iso ~/CONF/baremetal/dea.yaml ~/CONF/baremetal/dha.yaml /mnt/images pxebr
+sudo python deploy.py ~/ISO/opnfv.iso ~/CONF/baremetal/dea.yaml ~/CONF/baremetal/dha.yaml -s /mnt/images -b pxebr
 
 
 - Install Fuel Master and deploy OPNFV Cloud from scratch on Virtual Environment
 
 
 
 - Install Fuel Master and deploy OPNFV Cloud from scratch on Virtual Environment
 
-sudo python deploy.py ~/ISO/opnfv.iso ~/CONF/virtual/dea.yaml ~/CONF/virtual/dha.yaml /mnt/images
+sudo python deploy.py ~/ISO/opnfv.iso ~/CONF/virtual/dea.yaml ~/CONF/virtual/dha.yaml -s /mnt/images
 
 
 
 
 
 
index 402d0f2..33c6f9f 100644 (file)
@@ -184,15 +184,16 @@ def parse_arguments():
                         help='Deployment Environment Adapter: dea.yaml')
     parser.add_argument('dha_file', action='store',
                         help='Deployment Hardware Adapter: dha.yaml')
                         help='Deployment Environment Adapter: dea.yaml')
     parser.add_argument('dha_file', action='store',
                         help='Deployment Hardware Adapter: dha.yaml')
-    parser.add_argument('storage_dir', nargs='?', action='store',
+    parser.add_argument('-s', dest='storage_dir', action='store',
                         default='%s/images' % CWD,
                         help='Storage Directory [default: images]')
                         default='%s/images' % CWD,
                         help='Storage Directory [default: images]')
-    parser.add_argument('pxe_bridge', nargs='?', action='store',
+    parser.add_argument('-b', dest='pxe_bridge', action='store',
                         default='pxebr',
                         help='Linux Bridge for booting up the Fuel Master VM '
                              '[default: pxebr]')
 
     args = parser.parse_args()
                         default='pxebr',
                         help='Linux Bridge for booting up the Fuel Master VM '
                              '[default: pxebr]')
 
     args = parser.parse_args()
+    log(args)
 
     check_file_exists(args.dea_file)
     check_file_exists(args.dha_file)
 
     check_file_exists(args.dea_file)
     check_file_exists(args.dha_file)
@@ -202,8 +203,6 @@ def parse_arguments():
         check_file_exists(args.iso_file)
         log('Using image directory: %s' % args.storage_dir)
         create_dir_if_not_exists(args.storage_dir)
         check_file_exists(args.iso_file)
         log('Using image directory: %s' % args.storage_dir)
         create_dir_if_not_exists(args.storage_dir)
-        log('Using bridge %s to boot up Fuel Master VM on it'
-            % args.pxe_bridge)
         check_bridge(args.pxe_bridge, args.dha_file)
 
     return (args.without_fuel, args.storage_dir, args.pxe_bridge,
         check_bridge(args.pxe_bridge, args.dha_file)
 
     return (args.without_fuel, args.storage_dir, args.pxe_bridge,
index ea24ff0..b9b7809 100644 (file)
@@ -138,7 +138,7 @@ class InstallFuelMaster(object):
                      self.work_dir, os.path.basename(self.dea_file)))
 
     def wait_until_installation_completed(self):
                      self.work_dir, os.path.basename(self.dea_file)))
 
     def wait_until_installation_completed(self):
-        WAIT_LOOP = 320
+        WAIT_LOOP = 360
         SLEEP_TIME = 10
         CMD = 'ps -ef | grep %s | grep -v grep' % BOOTSTRAP_ADMIN
 
         SLEEP_TIME = 10
         CMD = 'ps -ef | grep %s | grep -v grep' % BOOTSTRAP_ADMIN