From 67ecf4ef436f3f70427658225a34c342ba8ea482 Mon Sep 17 00:00:00 2001 From: Brad Behle Date: Wed, 27 Jan 2016 20:50:22 -0600 Subject: Add availability zone support for network commands Add --availability-zone-hint parm to network create. Also add availability_zones and availability_zone_hints to the network list and network show commands Change-Id: Ib4dc2e3e7897939be7bef6b25a095c8222b885bc Partially-implements: blueprint neutron-client --- openstackclient/network/v2/network.py | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'openstackclient/network/v2/network.py') diff --git a/openstackclient/network/v2/network.py b/openstackclient/network/v2/network.py index 38dff8d9..7d9324f0 100644 --- a/openstackclient/network/v2/network.py +++ b/openstackclient/network/v2/network.py @@ -36,6 +36,8 @@ _formatters = { 'subnets': utils.format_list, 'admin_state_up': _format_admin_state, 'router_external': _format_router_external, + 'availability_zones': utils.format_list, + 'availability_zone_hints': utils.format_list, } @@ -93,8 +95,19 @@ class CreateNetwork(show.ShowOne): parser.add_argument( '--project', metavar='', - help="Owner's project (name or ID)") + help="Owner's project (name or ID)" + ) identity_common.add_project_domain_option_to_parser(parser) + + parser.add_argument( + '--availability-zone-hint', + action='append', + dest='availability_zone_hints', + metavar='', + help='Availability Zone in which to create this network ' + '(requires the Network Availability Zone extension, ' + 'this option can be repeated).', + ) return parser def take_action(self, parsed_args): @@ -119,6 +132,10 @@ class CreateNetwork(show.ShowOne): parsed_args.project_domain, ).id body['tenant_id'] = project_id + if parsed_args.availability_zone_hints is not None: + body['availability_zone_hints'] = \ + parsed_args.availability_zone_hints + return body @@ -181,6 +198,7 @@ class ListNetwork(lister.Lister): 'subnets', 'provider_network_type', 'router_external', + 'availability_zones', ) column_headers = ( 'ID', @@ -192,6 +210,7 @@ class ListNetwork(lister.Lister): 'Subnets', 'Network Type', 'Router Type', + 'Availability Zones', ) else: columns = ( -- cgit v1.2.1