Merge "[fuel] deploy.sh: Add timeout flag on fuel"
[armband.git] / patches / opnfv-fuel / 0023-deploy.py-add-multiple-bridges-support.patch
1 From: Josep Puigdemont <josep.puigdemont@enea.com>
2 Date: Fri, 6 May 2016 04:32:06 +0200
3 Subject: [PATCH] deploy.py: add multiple bridges support
4
5 Some Fuel VMs may need more than one network interface. To be able to do
6 that, we now allow the user to specify the "-b" paramter (bridge)
7 multiple times, creating a new NIC for each one of them.
8
9 The NICs are created in the same order as they are given in the command
10 line.
11
12 There is no change in behavior from earlier versions, pxebr will still
13 be the default bridge if none is specified.
14
15 Signed-off-by: Josep Puigdemont <josep.puigdemont@enea.com>
16 ---
17  deploy/deploy.py                    | 10 +++++++---
18  deploy/environments/virtual_fuel.py |  3 ++-
19  2 files changed, 9 insertions(+), 4 deletions(-)
20
21 diff --git a/deploy/deploy.py b/deploy/deploy.py
22 index ff4582a..041ba2f 100755
23 --- a/deploy/deploy.py
24 +++ b/deploy/deploy.py
25 @@ -312,8 +312,8 @@ def parse_arguments():
26      parser.add_argument('-s', dest='storage_dir', action='store',
27                          default='%s/images' % CWD,
28                          help='Storage Directory [default: images]')
29 -    parser.add_argument('-b', dest='pxe_bridge', action='store',
30 -                        default='pxebr',
31 +    parser.add_argument('-b', dest='pxe_bridge', action='append',
32 +                        default=[],
33                          help='Linux Bridge for booting up the Fuel Master VM '
34                               '[default: pxebr]')
35      parser.add_argument('-p', dest='fuel_plugins_dir', action='store',
36 @@ -332,6 +332,9 @@ def parse_arguments():
37      args = parser.parse_args()
38      log(args)
39  
40 +    if not args.pxe_bridge:
41 +        args.pxe_bridge = ['pxebr']
42 +
43      check_file_exists(args.dha_file)
44  
45      if not args.cleanup_only:
46 @@ -343,7 +346,8 @@ def parse_arguments():
47          check_file_exists(args.iso_file)
48          log('Using image directory: %s' % args.storage_dir)
49          create_dir_if_not_exists(args.storage_dir)
50 -        check_bridge(args.pxe_bridge, args.dha_file)
51 +        for bridge in args.pxe_bridge:
52 +            check_bridge(bridge, args.dha_file)
53  
54      kwargs = {'no_fuel': args.no_fuel, 'fuel_only': args.fuel_only,
55                'no_health_check': args.no_health_check,
56 diff --git a/deploy/environments/virtual_fuel.py b/deploy/environments/virtual_fuel.py
57 index b68577e..6b673d0 100644
58 --- a/deploy/environments/virtual_fuel.py
59 +++ b/deploy/environments/virtual_fuel.py
60 @@ -121,7 +121,8 @@ class VirtualFuel(ExecutionEnvironment):
61          disk_path = self.create_image(disk_path, disk_size)
62  
63          self.del_vm_nics()
64 -        self.add_vm_nic(self.pxe_bridge)
65 +        for bridge in self.pxe_bridge:
66 +            self.add_vm_nic(bridge)
67          self.update_vm_template_file()
68  
69          vm_definition_overwrite = self.dha.get_vm_definition('fuel')