summaryrefslogtreecommitdiff
path: root/openstackclient/network
diff options
context:
space:
mode:
authorYan Xing'an <yanxingan@cmss.chinamobile.com>2016-10-20 20:56:32 -0700
committerYan Xing'an <yanxingan@cmss.chinamobile.com>2016-10-27 23:37:59 -0700
commit960b2658dc6ab1f82b78dbc531386544d302f09e (patch)
treef20357d76c10d98bf8a17d12c192b525baaf1840 /openstackclient/network
parent8ca1cc637013972491744b8318d30e9256bc4165 (diff)
downloadpython-openstackclient-960b2658dc6ab1f82b78dbc531386544d302f09e.tar.gz
Support --provider-* options in the network list command
Add --provider-network-type, --provider-physical-network, --provider-segment options into network list command. Change-Id: I02546170211fb3e7e55d5dc7e7cdc6d387fd26e5 Closes-Bug: #1635580 Partially-Implements: blueprint network-commands-options
Diffstat (limited to 'openstackclient/network')
-rw-r--r--openstackclient/network/v2/network.py32
1 files changed, 31 insertions, 1 deletions
diff --git a/openstackclient/network/v2/network.py b/openstackclient/network/v2/network.py
index 40183b73..397139e2 100644
--- a/openstackclient/network/v2/network.py
+++ b/openstackclient/network/v2/network.py
@@ -304,7 +304,7 @@ class DeleteNetwork(common.NetworkAndComputeDelete):
class ListNetwork(common.NetworkAndComputeLister):
"""List networks"""
- def update_parser_common(self, parser):
+ def update_parser_network(self, parser):
router_ext_group = parser.add_mutually_exclusive_group()
router_ext_group.add_argument(
'--external',
@@ -361,6 +361,29 @@ class ListNetwork(common.NetworkAndComputeLister):
help=_("List networks according to their status "
"('ACTIVE', 'BUILD', 'DOWN', 'ERROR')")
)
+ parser.add_argument(
+ '--provider-network-type',
+ metavar='<provider-network-type>',
+ choices=['flat', 'geneve', 'gre', 'local',
+ 'vlan', 'vxlan'],
+ help=_("List networks according to their physical mechanisms. "
+ "The supported options are: flat, geneve, gre, local, "
+ "vlan, vxlan.")
+ )
+ parser.add_argument(
+ '--provider-physical-network',
+ metavar='<provider-physical-network>',
+ dest='physical_network',
+ help=_("List networks according to name of the physical network")
+ )
+ parser.add_argument(
+ '--provider-segment',
+ metavar='<provider-segment>',
+ dest='segmentation_id',
+ help=_("List networks according to VLAN ID for VLAN networks "
+ "or Tunnel ID for GENEVE/GRE/VXLAN networks")
+ )
+
return parser
def take_action_network(self, client, parsed_args):
@@ -433,6 +456,13 @@ class ListNetwork(common.NetworkAndComputeLister):
if parsed_args.status:
args['status'] = parsed_args.status
+ if parsed_args.provider_network_type:
+ args['provider:network_type'] = parsed_args.provider_network_type
+ if parsed_args.physical_network:
+ args['provider:physical_network'] = parsed_args.physical_network
+ if parsed_args.segmentation_id:
+ args['provider:segmentation_id'] = parsed_args.segmentation_id
+
data = client.networks(**args)
return (column_headers,