aboutsummaryrefslogtreecommitdiffstats
path: root/patches/opnfv-fuel/0009-deploy.py-add-multiple-bridges-support.patch
blob: 6743f25c527071e9155b0c4c60265cc0a8e67efd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
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')