diff options
author | Josep Puigdemont <josep.puigdemont@enea.com> | 2016-06-17 17:28:59 +0200 |
---|---|---|
committer | Josep Puigdemont <josep.puigdemont@enea.com> | 2016-06-17 17:28:59 +0200 |
commit | 440c1f1321eb06f570207506d212220661bd3a9d (patch) | |
tree | d054e797dad10a042e63b7cf618761392449146c | |
parent | c1b2d0f84ce5b685185fa34d6c007d31e9ade3bb (diff) |
opnv-fuel: updated deploy patch set
Change-Id: I9442f217d2f840382b40f6eae77ddb9ae2ddbadc
Signed-off-by: Josep Puigdemont <josep.puigdemont@enea.com>
11 files changed, 178 insertions, 207 deletions
diff --git a/patches/opnfv-fuel/0008-virtual_fuel-prepare-class-to-allow-multiple-bridges.patch b/patches/opnfv-fuel/0001-virtual_fuel-prepare-class-to-allow-multiple-bridges.patch index f2e21e24..63a4a706 100644 --- a/patches/opnfv-fuel/0008-virtual_fuel-prepare-class-to-allow-multiple-bridges.patch +++ b/patches/opnfv-fuel/0001-virtual_fuel-prepare-class-to-allow-multiple-bridges.patch @@ -1,3 +1,4 @@ +From 2a9e72d95200161ec27e8f199a76c6ec1f88bff1 Mon Sep 17 00:00:00 2001 From: Josep Puigdemont <josep.puigdemont@enea.com> Date: Fri, 20 May 2016 10:23:45 +0200 Subject: [PATCH] virtual_fuel: prepare class to allow multiple bridges @@ -12,17 +13,19 @@ The following method has been deleted: set_vm_nic: implemented with the two new methods -Apart from the deleted method, no functionality has been changed. This -is just a small but necessary step towards adding support for supporting -more than one bridge in the fuel VM. +Apart from the deleted method, no functionality has been changed. +This is just a small but necessary step towards adding support for +configuring more than one NIC in the fuel VM. + +Change-Id: I9f02c8163dfb9768510e78d5d5e77a0bb43306fb Signed-off-by: Josep Puigdemont <josep.puigdemont@enea.com> --- deploy/environments/virtual_fuel.py | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/deploy/environments/virtual_fuel.py b/deploy/environments/virtual_fuel.py -index 7dc9720..5a86c97 100644 +index 2fac98b..5a86c97 100644 --- a/deploy/environments/virtual_fuel.py +++ b/deploy/environments/virtual_fuel.py @@ -67,22 +67,25 @@ class VirtualFuel(ExecutionEnvironment): @@ -61,7 +64,7 @@ index 7dc9720..5a86c97 100644 - temp_vm_file = '%s/%s' % (self.temp_dir, self.vm_name) - exec_cmd('cp %s %s' % (self.vm_template, temp_vm_file)) -- self.set_vm_nic(temp_vm_file) +- self.set_vm_nic() + self.del_vm_nics() + self.add_vm_nic(self.pxe_bridge) + self.update_vm_template_file() @@ -73,3 +76,6 @@ index 7dc9720..5a86c97 100644 vm_definition_overwrite) def setup_environment(self): +-- +2.5.5 + diff --git a/patches/opnfv-fuel/0002-deploy-add-support-for-multiple-bridges.patch b/patches/opnfv-fuel/0002-deploy-add-support-for-multiple-bridges.patch new file mode 100644 index 00000000..379fc57a --- /dev/null +++ b/patches/opnfv-fuel/0002-deploy-add-support-for-multiple-bridges.patch @@ -0,0 +1,111 @@ +From dfc83244874060c4052bc3d29c256fa1bd52687d Mon Sep 17 00:00:00 2001 +From: Josep Puigdemont <josep.puigdemont@enea.com> +Date: Fri, 6 May 2016 04:32:06 +0200 +Subject: [PATCH] deploy: add support for multiple bridges + +deploy.py: +Some Fuel VMs may need more than one network interface. To be able to +provide that, we now allow the user to specify the "-b" paramter +(bridge) multiple times, creating a new NIC for each one of them. + +The NICs are created in the same order as they are given in the command +line. + +There is no change in behavior from earlier versions, pxebr will still +be the default bridge if none is specified in the command line. + +deploy.sh: +To reflect the new capabilities of deploy.py, we introduce the +possibility to specify -B more than once in deploy.sh, and honor that +when calling deploy.py. We also make it possible to specify a comma +separated list of bridges, as in: -B br1,br2. + +Change-Id: I1a0100f2cfe755ec6adfeedafb391c2357f46f51 +Signed-off-by: Josep Puigdemont <josep.puigdemont@enea.com> +--- + ci/deploy.sh | 11 +++++++---- + deploy/deploy.py | 10 +++++++--- + deploy/environments/virtual_fuel.py | 3 ++- + 3 files changed, 16 insertions(+), 8 deletions(-) + +diff --git a/ci/deploy.sh b/ci/deploy.sh +index c7a1d18..4e4586c 100755 +--- a/ci/deploy.sh ++++ b/ci/deploy.sh +@@ -58,7 +58,10 @@ and provides a fairly simple mechanism to execute a deployment. + Input parameters to the build script is: + -b Base URI to the configuration directory (needs to be provided in a URI + style, it can be a local resource: file:// or a remote resource http(s)://) +--B PXE Bridge for booting of Fuel master, default is pxebr ++-B PXE Bridge for booting of Fuel master. It can be specified several times, ++ or as a comma separated list of bridges, or both: -B br1 -B br2,br3 ++ One NIC connected to each specified bridge will be created in the Fuel VM, ++ in the same order as provided in the command line. The default is pxebr. + -d Dry-run - Produces deploy config files (config/dea.yaml and + config/dha.yaml), but does not execute deploy + -f Deploy on existing Fuel master +@@ -135,9 +138,9 @@ do + fi + ;; + B) +- if [[ ${OPTARG} ]]; then +- PXE_BRIDGE="-b ${OPTARG}" +- fi ++ for bridge in ${OPTARG//,/ }; do ++ PXE_BRIDGE+=" -b $bridge" ++ done + ;; + d) + DRY_RUN=1 +diff --git a/deploy/deploy.py b/deploy/deploy.py +index 8064af9..56e5bd5 100755 +--- a/deploy/deploy.py ++++ b/deploy/deploy.py +@@ -318,8 +318,8 @@ def parse_arguments(): + parser.add_argument('-s', dest='storage_dir', action='store', + default='%s/images' % CWD, + help='Storage Directory [default: images]') +- parser.add_argument('-b', dest='pxe_bridge', action='store', +- default='pxebr', ++ parser.add_argument('-b', dest='pxe_bridge', action='append', ++ default=[], + help='Linux Bridge for booting up the Fuel Master VM ' + '[default: pxebr]') + parser.add_argument('-p', dest='fuel_plugins_dir', action='store', +@@ -341,6 +341,9 @@ def parse_arguments(): + args = parser.parse_args() + log(args) + ++ if not args.pxe_bridge: ++ args.pxe_bridge = ['pxebr'] ++ + check_file_exists(args.dha_file) + + check_dir_exists(os.path.dirname(args.deploy_log)) +@@ -355,7 +358,8 @@ def parse_arguments(): + check_file_exists(iso_abs_path) + log('Using image directory: %s' % args.storage_dir) + create_dir_if_not_exists(args.storage_dir) +- check_bridge(args.pxe_bridge, args.dha_file) ++ for bridge in args.pxe_bridge: ++ check_bridge(bridge, args.dha_file) + + + kwargs = {'no_fuel': args.no_fuel, 'fuel_only': args.fuel_only, +diff --git a/deploy/environments/virtual_fuel.py b/deploy/environments/virtual_fuel.py +index 5a86c97..b1a76e4 100644 +--- a/deploy/environments/virtual_fuel.py ++++ b/deploy/environments/virtual_fuel.py +@@ -125,7 +125,8 @@ class VirtualFuel(ExecutionEnvironment): + disk_path = self.create_image(disk_path, disk_size) + + self.del_vm_nics() +- self.add_vm_nic(self.pxe_bridge) ++ for bridge in self.pxe_bridge: ++ self.add_vm_nic(bridge) + self.update_vm_template_file() + + vm_definition_overwrite = self.dha.get_vm_definition('fuel') +-- +2.5.5 + diff --git a/patches/opnfv-fuel/0011-deploy.sh-accept-a-timeout-flag-T.patch b/patches/opnfv-fuel/0003-deploy.sh-accept-a-timeout-flag-T.patch index 6ccafcc1..641891bb 100644 --- a/patches/opnfv-fuel/0011-deploy.sh-accept-a-timeout-flag-T.patch +++ b/patches/opnfv-fuel/0003-deploy.sh-accept-a-timeout-flag-T.patch @@ -1,14 +1,16 @@ +From 0ca4dada5b3528c84f2edcb7f1a2df8f0a18779d Mon Sep 17 00:00:00 2001 From: Josep Puigdemont <josep.puigdemont@enea.com> Date: Mon, 9 May 2016 11:05:58 +0200 Subject: [PATCH] deploy.sh: accept a timeout flag (-T) +Change-Id: I58a7b9bc639bb03b994ea34fc317f5679140d9fd Signed-off-by: Josep Puigdemont <josep.puigdemont@enea.com> --- ci/deploy.sh | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/ci/deploy.sh b/ci/deploy.sh -index 3a95327..a8b3015 100755 +index 4e4586c..8411714 100755 --- a/ci/deploy.sh +++ b/ci/deploy.sh @@ -29,7 +29,7 @@ cat << EOF @@ -20,7 +22,7 @@ index 3a95327..a8b3015 100755 -s deployment-scenario [-S optional Deploy-scenario path URI] [-R optional local relen repo (containing deployment Scenarios] -@@ -46,6 +46,7 @@ OPTIONS: +@@ -47,6 +47,7 @@ OPTIONS: -p Pod-name -s Deploy-scenario short-name/base-file-name -S Storage dir for VM images @@ -28,7 +30,7 @@ index 3a95327..a8b3015 100755 -i iso url Description: -@@ -76,6 +77,8 @@ Input parameters to the build script is: +@@ -78,6 +79,8 @@ Input parameters to the build script is: or a deployment short-name as defined by scenario.yaml in the deployment scenario path. -S Storage dir for VM images, default is fuel/deploy/images @@ -37,7 +39,7 @@ index 3a95327..a8b3015 100755 -i .iso image to be deployed (needs to be provided in a URI style, it can be a local resource: file:// or a remote resource http(s)://) -@@ -114,6 +117,11 @@ FUEL_CREATION_ONLY='' +@@ -116,6 +119,11 @@ FUEL_CREATION_ONLY='' NO_DEPLOY_ENVIRONMENT='' STORAGE_DIR='' DRY_RUN=0 @@ -49,16 +51,16 @@ index 3a95327..a8b3015 100755 # # END of variables to customize ############################################################################ -@@ -121,7 +129,7 @@ DRY_RUN=0 +@@ -123,7 +131,7 @@ DRY_RUN=0 ############################################################################ # BEGIN of main # --while getopts "b:B:dfFHl:p:s:S:i:he" OPTION -+while getopts "b:B:dfFHl:p:s:S:T:i:he" OPTION +-while getopts "b:B:dfFHl:L:p:s:S:i:he" OPTION ++while getopts "b:B:dfFHl:L:p:s:S:T:i:he" OPTION do case $OPTION in b) -@@ -169,6 +177,9 @@ do +@@ -174,6 +182,9 @@ do STORAGE_DIR="-s ${OPTARG}" fi ;; @@ -68,14 +70,17 @@ index 3a95327..a8b3015 100755 i) ISO=${OPTARG} if [[ ! $ISO == file://* ]] && \ -@@ -238,8 +249,8 @@ if [ $DRY_RUN -eq 0 ]; then +@@ -243,8 +254,8 @@ if [ $DRY_RUN -eq 0 ]; then ISO=${SCRIPT_PATH}/ISO/image.iso fi # Start deployment -- echo "python deploy.py $STORAGE_DIR $PXE_BRIDGE $USE_EXISTING_FUEL $FUEL_CREATION_ONLY $NO_HEALTH_CHECK $NO_DEPLOY_ENVIRONMENT -dea ${SCRIPT_PATH}/config/dea.yaml -dha ${SCRIPT_PATH}/config/dha.yaml -iso $ISO" -- python deploy.py $STORAGE_DIR $PXE_BRIDGE $USE_EXISTING_FUEL $FUEL_CREATION_ONLY $NO_HEALTH_CHECK $NO_DEPLOY_ENVIRONMENT -dea ${SCRIPT_PATH}/config/dea.yaml -dha ${SCRIPT_PATH}/config/dha.yaml -iso $ISO -+ echo "python deploy.py $STORAGE_DIR $PXE_BRIDGE $USE_EXISTING_FUEL $FUEL_CREATION_ONLY $NO_HEALTH_CHECK $NO_DEPLOY_ENVIRONMENT -dea ${SCRIPT_PATH}/config/dea.yaml -dha ${SCRIPT_PATH}/config/dha.yaml -iso $ISO $DEPLOY_TIMEOUT" -+ python deploy.py $STORAGE_DIR $PXE_BRIDGE $USE_EXISTING_FUEL $FUEL_CREATION_ONLY $NO_HEALTH_CHECK $NO_DEPLOY_ENVIRONMENT -dea ${SCRIPT_PATH}/config/dea.yaml -dha ${SCRIPT_PATH}/config/dha.yaml -iso $ISO $DEPLOY_TIMEOUT +- echo "python deploy.py $DEPLOY_LOG $STORAGE_DIR $PXE_BRIDGE $USE_EXISTING_FUEL $FUEL_CREATION_ONLY $NO_HEALTH_CHECK $NO_DEPLOY_ENVIRONMENT -dea ${SCRIPT_PATH}/config/dea.yaml -dha ${SCRIPT_PATH}/config/dha.yaml -iso $ISO" +- python deploy.py $DEPLOY_LOG $STORAGE_DIR $PXE_BRIDGE $USE_EXISTING_FUEL $FUEL_CREATION_ONLY $NO_HEALTH_CHECK $NO_DEPLOY_ENVIRONMENT -dea ${SCRIPT_PATH}/config/dea.yaml -dha ${SCRIPT_PATH}/config/dha.yaml -iso $ISO ++ echo "python deploy.py $DEPLOY_LOG $STORAGE_DIR $PXE_BRIDGE $USE_EXISTING_FUEL $FUEL_CREATION_ONLY $NO_HEALTH_CHECK $NO_DEPLOY_ENVIRONMENT -dea ${SCRIPT_PATH}/config/dea.yaml -dha ${SCRIPT_PATH}/config/dha.yaml -iso $ISO $DEPLOY_TIMEOUT" ++ python deploy.py $DEPLOY_LOG $STORAGE_DIR $PXE_BRIDGE $USE_EXISTING_FUEL $FUEL_CREATION_ONLY $NO_HEALTH_CHECK $NO_DEPLOY_ENVIRONMENT -dea ${SCRIPT_PATH}/config/dea.yaml -dha ${SCRIPT_PATH}/config/dha.yaml -iso $ISO $DEPLOY_TIMEOUT fi popd > /dev/null +-- +2.5.5 + diff --git a/patches/opnfv-fuel/0012-Fuel-VM-for-the-Enea-Armband-lab.patch b/patches/opnfv-fuel/0004-Fuel-VM-for-the-Enea-Armband-lab.patch index fbcd11d1..224d8da8 100644 --- a/patches/opnfv-fuel/0012-Fuel-VM-for-the-Enea-Armband-lab.patch +++ b/patches/opnfv-fuel/0004-Fuel-VM-for-the-Enea-Armband-lab.patch @@ -1,9 +1,11 @@ +From 800aae6db0d0d79d01cec4df85075026073063dd Mon Sep 17 00:00:00 2001 From: Josep Puigdemont <josep.puigdemont@enea.com> Date: Wed, 4 May 2016 14:27:23 +0200 Subject: [PATCH] Fuel VM for the Enea Armband lab This is the initial VM description fit for Enea's Armband lab. +Change-Id: Ia89f9728fff0ab1c279f6200fd558d9643cf4ea5 Signed-off-by: Josep Puigdemont <josep.puigdemont@enea.com> --- .../hardware_environment/vms/enea_lab/fuel.xml | 88 ++++++++++++++++++++++ @@ -104,3 +106,6 @@ index 0000000..8773ed4 + </memballoon> + </devices> +</domain> +-- +2.5.5 + diff --git a/patches/opnfv-fuel/0013-transplant-Generate-extra-interfaces-config-file.patch b/patches/opnfv-fuel/0005-transplant-Generate-extra-interfaces-config-file.patch index b6a351e4..2c8587a5 100644 --- a/patches/opnfv-fuel/0013-transplant-Generate-extra-interfaces-config-file.patch +++ b/patches/opnfv-fuel/0005-transplant-Generate-extra-interfaces-config-file.patch @@ -1,3 +1,4 @@ +From 7dad9f8350e8563942f4e9ffae595bbfe44e606d Mon Sep 17 00:00:00 2001 From: Josep Puigdemont <josep.puigdemont@enea.com> Date: Wed, 4 May 2016 17:58:56 +0200 Subject: [PATCH] transplant: Generate extra interfaces config file @@ -19,6 +20,7 @@ added one public interface), the default route on admin iface (most of the time called eth0) should be disabled. For now, we assume the admin interface is always "eth0". +Change-Id: I0457dc9a0d49e46b8ca85cfe7a4435c2b15f5238 Signed-off-by: Josep Puigdemont <josep.puigdemont@enea.com> Signed-off-by: Alexandu Avadanii <alexandru.avadanii@enea.com> --- @@ -105,3 +107,6 @@ index e57a4fb..9a65cf6 100644 if __name__ == '__main__': +-- +2.5.5 + diff --git a/patches/opnfv-fuel/0014-deploy.sh-no-need-to-set-umask-0000.patch b/patches/opnfv-fuel/0006-deploy.sh-no-need-to-set-umask-0000.patch index 446a2071..9c005907 100644 --- a/patches/opnfv-fuel/0014-deploy.sh-no-need-to-set-umask-0000.patch +++ b/patches/opnfv-fuel/0006-deploy.sh-no-need-to-set-umask-0000.patch @@ -1,17 +1,19 @@ +From f67625ce6c607b47bc99c5118f5e52fe8a8e763b Mon Sep 17 00:00:00 2001 From: Josep Puigdemont <josep.puigdemont@enea.com> Date: Fri, 6 May 2016 03:07:40 +0200 Subject: [PATCH] deploy.sh: no need to set umask 0000 +Change-Id: If3283a16139097db57b06c0535d33a88dc1b2ed2 Signed-off-by: Josep Puigdemont <josep.puigdemont@enea.com> --- ci/deploy.sh | 6 ------ 1 file changed, 6 deletions(-) diff --git a/ci/deploy.sh b/ci/deploy.sh -index a8b3015..cd7f652 100755 +index 8411714..c08a94b 100755 --- a/ci/deploy.sh +++ b/ci/deploy.sh -@@ -82,9 +82,6 @@ Input parameters to the build script is: +@@ -84,9 +84,6 @@ Input parameters to the build script is: -i .iso image to be deployed (needs to be provided in a URI style, it can be a local resource: file:// or a remote resource http(s)://) @@ -21,7 +23,7 @@ index a8b3015..cd7f652 100755 Examples: sudo `basename $0` -b file:///home/jenkins/lab-config -l lf -p pod1 -s ha_odl-l3_heat_ceilometer -i file:///home/jenkins/myiso.iso EOF -@@ -226,9 +223,6 @@ fi +@@ -231,9 +228,6 @@ fi # Enable the automatic exit trap trap do_exit SIGINT SIGTERM EXIT @@ -31,3 +33,6 @@ index a8b3015..cd7f652 100755 clean pushd ${DEPLOY_DIR} > /dev/null +-- +2.5.5 + diff --git a/patches/opnfv-fuel/0015-Remove-check-for-root.patch b/patches/opnfv-fuel/0007-Remove-check-for-root.patch index ab0df01c..2282f59d 100644 --- a/patches/opnfv-fuel/0015-Remove-check-for-root.patch +++ b/patches/opnfv-fuel/0007-Remove-check-for-root.patch @@ -1,7 +1,9 @@ +From b7d5f0ca9a76de6d99fc5d6f5cbb8df864c62b7b Mon Sep 17 00:00:00 2001 From: Josep Puigdemont <josep.puigdemont@enea.com> Date: Wed, 4 May 2016 14:27:23 +0200 Subject: [PATCH] Remove check for root +Change-Id: Ic6bfaf07c0d9d347aec2df8724184d0314665503 Signed-off-by: Josep Puigdemont <josep.puigdemont@enea.com> --- ci/deploy.sh | 5 ----- @@ -11,10 +13,10 @@ Signed-off-by: Josep Puigdemont <josep.puigdemont@enea.com> 4 files changed, 10 deletions(-) diff --git a/ci/deploy.sh b/ci/deploy.sh -index cd7f652..5f06a19 100755 +index c08a94b..081806c 100755 --- a/ci/deploy.sh +++ b/ci/deploy.sh -@@ -204,11 +204,6 @@ do +@@ -209,11 +209,6 @@ do esac done @@ -39,18 +41,18 @@ index 65d51b2..88a1111 100644 ) diff --git a/deploy/deploy.py b/deploy/deploy.py -index 9db1754..ca092f5 100755 +index 56e5bd5..a021e28 100755 --- a/deploy/deploy.py +++ b/deploy/deploy.py -@@ -32,7 +32,6 @@ from common import ( - check_file_exists, +@@ -33,7 +33,6 @@ from common import ( + check_dir_exists, create_dir_if_not_exists, delete, - check_if_root, ArgParser, ) -@@ -232,7 +231,6 @@ class AutoDeploy(object): +@@ -234,7 +233,6 @@ class AutoDeploy(object): return 0 def run(self): @@ -78,3 +80,6 @@ index b1a76e4..4ff68f6 100644 self.cleanup_environment() self.create_vm() +-- +2.5.5 + diff --git a/patches/opnfv-fuel/0007-virtual_fuel-add-XML-tree-as-attribute-of-VirtualFue.patch b/patches/opnfv-fuel/0007-virtual_fuel-add-XML-tree-as-attribute-of-VirtualFue.patch deleted file mode 100644 index 53e1a8db..00000000 --- a/patches/opnfv-fuel/0007-virtual_fuel-add-XML-tree-as-attribute-of-VirtualFue.patch +++ /dev/null @@ -1,62 +0,0 @@ -From: Josep Puigdemont <josep.puigdemont@enea.com> -Date: Fri, 20 May 2016 10:05:11 +0200 -Subject: [PATCH] virtual_fuel: add XML tree as attribute of VirtualFuel - -Now the VM XML definition tree is an attribute of the object, this way -it can be used by all methods without having to re-read the file. - -Methods added: -update_vm_template_file: Flushes the contents of the in-memory XML - representation of the VM to the backing file. - -Signed-off-by: Josep Puigdemont <josep.puigdemont@enea.com> ---- - deploy/environments/virtual_fuel.py | 21 ++++++++++++++------- - 1 file changed, 14 insertions(+), 7 deletions(-) - -diff --git a/deploy/environments/virtual_fuel.py b/deploy/environments/virtual_fuel.py -index f9f9f7a..7dc9720 100644 ---- a/deploy/environments/virtual_fuel.py -+++ b/deploy/environments/virtual_fuel.py -@@ -54,14 +54,21 @@ class VirtualFuel(ExecutionEnvironment): - self.dha.get_node_property( - self.fuel_node_id, 'libvirtTemplate')) - check_file_exists(self.vm_template) -+ with open(self.vm_template) as f: -+ self.vm_xml = etree.parse(f) -+ -+ self.temp_vm_file = '%s/%s' % (self.temp_dir, self.vm_name) -+ self.update_vm_template_file() - - def __del__(self): - delete(self.temp_dir) - -- def set_vm_nic(self, temp_vm_file): -- with open(temp_vm_file) as f: -- vm_xml = etree.parse(f) -- interfaces = vm_xml.xpath('/domain/devices/interface') -+ def update_vm_template_file(self): -+ with open(self.temp_vm_file, "wc") as f: -+ self.vm_xml.write(f, pretty_print=True, xml_declaration=True) -+ -+ def set_vm_nic(self): -+ interfaces = self.vm_xml.xpath('/domain/devices/interface') - for interface in interfaces: - interface.getparent().remove(interface) - interface = etree.Element('interface') -@@ -70,12 +77,12 @@ class VirtualFuel(ExecutionEnvironment): - source.set('bridge', self.pxe_bridge) - model = etree.SubElement(interface, 'model') - model.set('type', 'virtio') -- devices = vm_xml.xpath('/domain/devices') -+ devices = self.vm_xml.xpath('/domain/devices') - if devices: - device = devices[0] - device.append(interface) -- with open(temp_vm_file, 'w') as f: -- vm_xml.write(f, pretty_print=True, xml_declaration=True) -+ -+ self.update_vm_template_file() - - def create_volume(self, pool, name, su, img_type='qcow2'): - log('Creating image using Libvirt volumes in pool %s, name: %s' % diff --git a/patches/opnfv-fuel/0018-deploy-reap.py-Dump-extra-interfaces-information.patch b/patches/opnfv-fuel/0008-deploy-reap.py-Dump-extra-interfaces-information.patch index c1d7b6f0..7cb759e1 100644 --- a/patches/opnfv-fuel/0018-deploy-reap.py-Dump-extra-interfaces-information.patch +++ b/patches/opnfv-fuel/0008-deploy-reap.py-Dump-extra-interfaces-information.patch @@ -1,3 +1,4 @@ +From e8232eca62d67c2bac1d34f5b2adfeba1a580634 Mon Sep 17 00:00:00 2001 From: Alexandru Avadanii <Alexandru.Avadanii@enea.com> Date: Wed, 4 May 2016 18:31:09 +0200 Subject: [PATCH] deploy/reap.py: Dump extra interfaces information. @@ -30,6 +31,7 @@ see related bug report [2]. [1] https://jira.opnfv.org/browse/ARMBAND-35 [2] https://jira.opnfv.org/browse/FUEL-136 +Change-Id: I6f0a759c65a435ec8bd883a04c8d1adca109cc13 Signed-off-by: Alexandu Avadanii <alexandru.avadanii@enea.com> Signed-off-by: Josep Puigdemont <josep.puigdemont@enea.com> --- @@ -37,7 +39,7 @@ Signed-off-by: Josep Puigdemont <josep.puigdemont@enea.com> 1 file changed, 34 insertions(+) diff --git a/deploy/reap.py b/deploy/reap.py -index 1262d4c..1f1b8ad 100644 +index ed5bc99..9f14e35 100644 --- a/deploy/reap.py +++ b/deploy/reap.py @@ -15,6 +15,8 @@ import yaml @@ -49,7 +51,9 @@ index 1262d4c..1f1b8ad 100644 from common import ( N, -@@ -246,4 +248,36 @@ class Reap(object): +@@ -248,6 +250,38 @@ class Reap(object): + if key not in ['ipaddress', 'netmask', + 'dhcp_pool_start', 'dhcp_pool_end', 'ssh_network']: del fuel['ADMIN_NETWORK'][key] + + ## FIXME(armband): Factor in support for adding public/other interfaces. @@ -86,3 +90,6 @@ index 1262d4c..1f1b8ad 100644 self.write_yaml(self.dea_file, {'fuel': fuel}) def reap_network_settings(self): +-- +2.5.5 + diff --git a/patches/opnfv-fuel/0009-deploy.py-add-multiple-bridges-support.patch b/patches/opnfv-fuel/0009-deploy.py-add-multiple-bridges-support.patch deleted file mode 100644 index 6743f25c..00000000 --- a/patches/opnfv-fuel/0009-deploy.py-add-multiple-bridges-support.patch +++ /dev/null @@ -1,69 +0,0 @@ -From: Josep Puigdemont <josep.puigdemont@enea.com> -Date: Fri, 6 May 2016 04:32:06 +0200 -Subject: [PATCH] deploy.py: add multiple bridges support - -Some Fuel VMs may need more than one network interface. To be able to do -that, we now allow the user to specify the "-b" paramter (bridge) -multiple times, creating a new NIC for each one of them. - -The NICs are created in the same order as they are given in the command -line. - -There is no change in behavior from earlier versions, pxebr will still -be the default bridge if none is specified. - -Signed-off-by: Josep Puigdemont <josep.puigdemont@enea.com> ---- - deploy/deploy.py | 10 +++++++--- - deploy/environments/virtual_fuel.py | 3 ++- - 2 files changed, 9 insertions(+), 4 deletions(-) - -diff --git a/deploy/deploy.py b/deploy/deploy.py -index 179ee7b..9db1754 100755 ---- a/deploy/deploy.py -+++ b/deploy/deploy.py -@@ -316,8 +316,8 @@ def parse_arguments(): - parser.add_argument('-s', dest='storage_dir', action='store', - default='%s/images' % CWD, - help='Storage Directory [default: images]') -- parser.add_argument('-b', dest='pxe_bridge', action='store', -- default='pxebr', -+ parser.add_argument('-b', dest='pxe_bridge', action='append', -+ default=[], - help='Linux Bridge for booting up the Fuel Master VM ' - '[default: pxebr]') - parser.add_argument('-p', dest='fuel_plugins_dir', action='store', -@@ -333,6 +333,9 @@ def parse_arguments(): - action='store_true', default=False, - help=('Do not launch environment deployment')) - -+ if not args.pxe_bridge: -+ args.pxe_bridge = ['pxebr'] -+ - args = parser.parse_args() - log(args) - -@@ -348,7 +351,8 @@ def parse_arguments(): - check_file_exists(iso_abs_path) - log('Using image directory: %s' % args.storage_dir) - create_dir_if_not_exists(args.storage_dir) -- check_bridge(args.pxe_bridge, args.dha_file) -+ for bridge in args.pxe_bridge: -+ check_bridge(bridge, args.dha_file) - - kwargs = {'no_fuel': args.no_fuel, 'fuel_only': args.fuel_only, - 'no_health_check': args.no_health_check, -diff --git a/deploy/environments/virtual_fuel.py b/deploy/environments/virtual_fuel.py -index 5a86c97..b1a76e4 100644 ---- a/deploy/environments/virtual_fuel.py -+++ b/deploy/environments/virtual_fuel.py -@@ -125,7 +125,8 @@ class VirtualFuel(ExecutionEnvironment): - disk_path = self.create_image(disk_path, disk_size) - - self.del_vm_nics() -- self.add_vm_nic(self.pxe_bridge) -+ for bridge in self.pxe_bridge: -+ self.add_vm_nic(bridge) - self.update_vm_template_file() - - vm_definition_overwrite = self.dha.get_vm_definition('fuel') diff --git a/patches/opnfv-fuel/0010-deploy.sh-allow-specifying-several-bridges.patch b/patches/opnfv-fuel/0010-deploy.sh-allow-specifying-several-bridges.patch deleted file mode 100644 index d3de23f6..00000000 --- a/patches/opnfv-fuel/0010-deploy.sh-allow-specifying-several-bridges.patch +++ /dev/null @@ -1,47 +0,0 @@ -From: Josep Puigdemont <josep.puigdemont@enea.com> -Date: Fri, 6 May 2016 04:39:44 +0200 -Subject: [PATCH] deploy.sh: allow specifying several bridges - -It might be desirable to add several bridges to the fuel VM, so we let -the user specify -B more than once, and honor that when calling -deploy.py. We also make it possible to specify a comma separated list of -bridges, as in: -B br1,br2, for convenience for the Jenkins jobs. - -There is a change in behavior from the previous version, and that is -that it may call the deploy.py python script with more than one instance -of the "-b" parameter. - -Signed-off-by: Josep Puigdemont <josep.puigdemont@enea.com> ---- - ci/deploy.sh | 11 +++++++---- - 1 file changed, 7 insertions(+), 4 deletions(-) - -diff --git a/ci/deploy.sh b/ci/deploy.sh -index dc13f1c..3a95327 100755 ---- a/ci/deploy.sh -+++ b/ci/deploy.sh -@@ -57,7 +57,10 @@ and provides a fairly simple mechanism to execute a deployment. - Input parameters to the build script is: - -b Base URI to the configuration directory (needs to be provided in a URI - style, it can be a local resource: file:// or a remote resource http(s)://) ---B PXE Bridge for booting of Fuel master, default is pxebr -+-B PXE Bridge for booting of Fuel master. It can be specified several times, -+ or as a comma separated list of bridges, or both: -B br1 -B br2,br3 -+ One NIC connected to each specified bridge will be created in the Fuel VM, -+ in the same order as provided in the command line. The default is pxebr. - -d Dry-run - Produces deploy config files (config/dea.yaml and - config/dha.yaml), but does not execute deploy - -f Deploy on existing Fuel master -@@ -133,9 +136,9 @@ do - fi - ;; - B) -- if [[ ${OPTARG} ]]; then -- PXE_BRIDGE="-b ${OPTARG}" -- fi -+ for bridge in ${OPTARG//,/ }; do -+ PXE_BRIDGE+=" -b $bridge" -+ done - ;; - d) - DRY_RUN=1 |