Enable to create legacy router
Some deployments create by default HA routers, this change enables to force the creation of a legacy router using: openstack router create --no-ha ... Closes-Bug: #1675514 Change-Id: I78f7dc3640a2acfdaf085e0e387b30373e8415f1
This commit is contained in:
parent
2a64a64046
commit
53ba05325a
@ -64,7 +64,7 @@ Create new router
|
||||
[--project <project> [--project-domain <project-domain>]]
|
||||
[--enable | --disable]
|
||||
[--distributed]
|
||||
[--ha]
|
||||
[--ha | --no-ha]
|
||||
[--description <description>]
|
||||
[--availability-zone-hint <availability-zone>]
|
||||
<name>
|
||||
@ -94,6 +94,10 @@ Create new router
|
||||
|
||||
Create a highly available router
|
||||
|
||||
.. option:: --no-ha
|
||||
|
||||
Create a legacy router
|
||||
|
||||
.. option:: --description <description>
|
||||
|
||||
Set router description
|
||||
|
@ -183,11 +183,17 @@ class CreateRouter(command.ShowOne):
|
||||
default=False,
|
||||
help=_("Create a distributed router")
|
||||
)
|
||||
parser.add_argument(
|
||||
ha_group = parser.add_mutually_exclusive_group()
|
||||
ha_group.add_argument(
|
||||
'--ha',
|
||||
action='store_true',
|
||||
help=_("Create a highly available router")
|
||||
)
|
||||
ha_group.add_argument(
|
||||
'--no-ha',
|
||||
action='store_true',
|
||||
help=_("Create a legacy router")
|
||||
)
|
||||
parser.add_argument(
|
||||
'--description',
|
||||
metavar='<description>',
|
||||
@ -216,7 +222,9 @@ class CreateRouter(command.ShowOne):
|
||||
|
||||
attrs = _get_attrs(self.app.client_manager, parsed_args)
|
||||
if parsed_args.ha:
|
||||
attrs['ha'] = parsed_args.ha
|
||||
attrs['ha'] = True
|
||||
if parsed_args.no_ha:
|
||||
attrs['ha'] = False
|
||||
obj = client.create_router(**attrs)
|
||||
|
||||
display_columns, columns = _get_columns(obj)
|
||||
|
@ -181,16 +181,17 @@ class TestCreateRouter(TestRouter):
|
||||
self.assertEqual(self.columns, columns)
|
||||
self.assertEqual(self.data, data)
|
||||
|
||||
def test_create_with_ha_option(self):
|
||||
def _test_create_with_ha_options(self, option, ha):
|
||||
arglist = [
|
||||
'--ha',
|
||||
option,
|
||||
self.new_router.name,
|
||||
]
|
||||
verifylist = [
|
||||
('name', self.new_router.name),
|
||||
('enable', True),
|
||||
('distributed', False),
|
||||
('ha', True),
|
||||
('ha', ha),
|
||||
('no_ha', not ha),
|
||||
]
|
||||
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||
|
||||
@ -199,11 +200,17 @@ class TestCreateRouter(TestRouter):
|
||||
self.network.create_router.assert_called_once_with(**{
|
||||
'admin_state_up': True,
|
||||
'name': self.new_router.name,
|
||||
'ha': True,
|
||||
'ha': ha,
|
||||
})
|
||||
self.assertEqual(self.columns, columns)
|
||||
self.assertEqual(self.data, data)
|
||||
|
||||
def test_create_with_ha_option(self):
|
||||
self._test_create_with_ha_options('--ha', True)
|
||||
|
||||
def test_create_with_no_ha_option(self):
|
||||
self._test_create_with_ha_options('--no-ha', False)
|
||||
|
||||
def test_create_with_AZ_hints(self):
|
||||
arglist = [
|
||||
self.new_router.name,
|
||||
|
@ -0,0 +1,5 @@
|
||||
---
|
||||
features:
|
||||
- |
|
||||
Add ``--no-ha`` option to the ``router create`` command
|
||||
[Bug `1675514 <https://bugs.launchpad.net/python-openstackclient/+bug/1675514>`_]
|
Loading…
Reference in New Issue
Block a user