summaryrefslogtreecommitdiff
path: root/openstackclient/network
diff options
context:
space:
mode:
authorJas <singhj@us.ibm.com>2016-01-21 04:19:48 -0600
committerJas <singhj@us.ibm.com>2016-01-29 09:52:02 -0600
commitc0d2120883080ba1a4326dc97e078d95de170a51 (patch)
tree335ba923df1989f7ad5ee8082acd265ef9b2abfa /openstackclient/network
parentbd1adaf003a805a1b480b7b48db2a9fe6c4a5ee9 (diff)
downloadpython-openstackclient-c0d2120883080ba1a4326dc97e078d95de170a51.tar.gz
Add availability zone support for router commands
This patch allows the adding of availability_zone_hints during router create. Also allows for the display of availability_zones during list and and show commands. Change-Id: Ifbc5c218bc7103d28076d726212ce25321bcf7f1 Partial-bug: #1519503 Partially-implements: blueprint neutron-client
Diffstat (limited to 'openstackclient/network')
-rw-r--r--openstackclient/network/v2/router.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/openstackclient/network/v2/router.py b/openstackclient/network/v2/router.py
index 09e0fe4c..06e086db 100644
--- a/openstackclient/network/v2/router.py
+++ b/openstackclient/network/v2/router.py
@@ -39,6 +39,8 @@ def _format_external_gateway_info(info):
_formatters = {
'admin_state_up': _format_admin_state,
'external_gateway_info': _format_external_gateway_info,
+ 'availability_zones': utils.format_list,
+ 'availability_zone_hints': utils.format_list,
}
@@ -50,6 +52,9 @@ def _get_attrs(client_manager, parsed_args):
attrs['admin_state_up'] = parsed_args.admin_state_up
if parsed_args.distributed is not None:
attrs['distributed'] = parsed_args.distributed
+ if ('availability_zone_hints' in parsed_args
+ and parsed_args.availability_zone_hints is not None):
+ attrs['availability_zone_hints'] = parsed_args.availability_zone_hints
# "router set" command doesn't support setting project.
if 'project' in parsed_args and parsed_args.project is not None:
identity_client = client_manager.identity
@@ -105,6 +110,16 @@ class CreateRouter(show.ShowOne):
metavar='<poroject>',
help="Owner's project (name or ID)",
)
+ parser.add_argument(
+ '--availability-zone-hint',
+ metavar='<availability-zone>',
+ action='append',
+ dest='availability_zone_hints',
+ help='Availability Zone in which to create this router '
+ '(requires the Router Availability Zone extension, '
+ 'this option can be repeated).',
+ )
+
identity_common.add_project_domain_option_to_parser(parser)
return parser
@@ -189,10 +204,12 @@ class ListRouter(lister.Lister):
columns = columns + (
'routes',
'external_gateway_info',
+ 'availability_zones'
)
column_headers = column_headers + (
'Routes',
'External gateway info',
+ 'Availability zones'
)
data = client.routers()