summaryrefslogtreecommitdiff
path: root/openstackclient/network
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2016-03-17 06:05:34 +0000
committerGerrit Code Review <review@openstack.org>2016-03-17 06:05:34 +0000
commita60e31ad4b2a1b48e7b2db8f572072beb92d6cd1 (patch)
tree2f63512f030c9615872d37219746fc66f5721ba8 /openstackclient/network
parentbc5b0846f8105c464311395307f4f163479d1fa4 (diff)
parent62a02466c30e32f8eb54a70497eacacb7fa5c9bf (diff)
downloadpython-openstackclient-a60e31ad4b2a1b48e7b2db8f572072beb92d6cd1.tar.gz
Merge "Add option to allow filtering by router on port list"
Diffstat (limited to 'openstackclient/network')
-rw-r--r--openstackclient/network/v2/port.py19
1 files changed, 18 insertions, 1 deletions
diff --git a/openstackclient/network/v2/port.py b/openstackclient/network/v2/port.py
index 241699ae..98a4f3de 100644
--- a/openstackclient/network/v2/port.py
+++ b/openstackclient/network/v2/port.py
@@ -243,6 +243,16 @@ class DeletePort(command.Command):
class ListPort(command.Lister):
"""List ports"""
+ def get_parser(self, prog_name):
+ parser = super(ListPort, self).get_parser(prog_name)
+ parser.add_argument(
+ '--router',
+ metavar='<router>',
+ dest='router',
+ help='List only ports attached to this router (name or ID)',
+ )
+ return parser
+
def take_action(self, parsed_args):
client = self.app.client_manager.network
@@ -259,7 +269,14 @@ class ListPort(command.Lister):
'Fixed IP Addresses',
)
- data = client.ports()
+ filters = {}
+ if parsed_args.router:
+ _router = client.find_router(parsed_args.router,
+ ignore_missing=False)
+ filters = {'device_id': _router.id}
+
+ data = client.ports(**filters)
+
return (column_headers,
(utils.get_item_properties(
s, columns,