summaryrefslogtreecommitdiff
path: root/openstackclient/network
diff options
context:
space:
mode:
authorReedip <reedip.banerjee@nectechnologies.in>2016-10-08 13:39:36 +0530
committerReedip <reedip.banerjee@nectechnologies.in>2016-10-16 05:05:23 +0000
commitbae09c3c3fac210f4839a8a51dfb51e2dad69aa7 (patch)
tree9fc67c4d44bdc443472d4da0aa8814c6bf54f69a /openstackclient/network
parenta58bacc619a92e6dcc3977ae9aff979e584dae2f (diff)
downloadpython-openstackclient-bae09c3c3fac210f4839a8a51dfb51e2dad69aa7.tar.gz
Add support make a router HA
Currently router set CLI does not provide the support make a router highly available. The following patch enables the same. Checking for setting a router as HA is left on the neutron server itself. Partially-Implements: blueprint network-commands-options Change-Id: I0d0548cf037a14e5ccb2f732918ee9d1f63f43b4 Closes-Bug:#1631492
Diffstat (limited to 'openstackclient/network')
-rw-r--r--openstackclient/network/v2/router.py22
1 files changed, 17 insertions, 5 deletions
diff --git a/openstackclient/network/v2/router.py b/openstackclient/network/v2/router.py
index 64bb8819..193bf6e9 100644
--- a/openstackclient/network/v2/router.py
+++ b/openstackclient/network/v2/router.py
@@ -433,11 +433,19 @@ class SetRouter(command.Command):
action='store_true',
help=argparse.SUPPRESS,
)
-
- # TODO(tangchen): Support setting 'ha' property in 'router set'
- # command. It appears that changing the ha state is supported by
- # neutron under certain conditions.
-
+ routes_ha = parser.add_mutually_exclusive_group()
+ routes_ha.add_argument(
+ '--ha',
+ action='store_true',
+ help=_("Set the router as highly available "
+ "(disabled router only)")
+ )
+ routes_ha.add_argument(
+ '--no-ha',
+ action='store_true',
+ help=_("Clear high availablability attribute of the router "
+ "(disabled router only)")
+ )
# TODO(tangchen): Support setting 'external_gateway_info' property in
# 'router set' command.
@@ -451,6 +459,10 @@ class SetRouter(command.Command):
attrs = _get_attrs(self.app.client_manager, parsed_args)
# Get the route attributes.
+ if parsed_args.ha:
+ attrs['ha'] = True
+ elif parsed_args.no_ha:
+ attrs['ha'] = False
if parsed_args.no_route:
attrs['routes'] = []
elif parsed_args.clear_routes: