summaryrefslogtreecommitdiff
path: root/openstackclient
diff options
context:
space:
mode:
Diffstat (limited to 'openstackclient')
-rw-r--r--openstackclient/network/v2/port.py7
-rw-r--r--openstackclient/tests/unit/network/v2/test_port.py19
2 files changed, 26 insertions, 0 deletions
diff --git a/openstackclient/network/v2/port.py b/openstackclient/network/v2/port.py
index 21f30c41..032e1787 100644
--- a/openstackclient/network/v2/port.py
+++ b/openstackclient/network/v2/port.py
@@ -499,6 +499,11 @@ class ListPort(command.Lister):
metavar='<server>',
help=_("List only ports attached to this server (name or ID)"),
)
+ device_group.add_argument(
+ '--device-id',
+ metavar='<device-id>',
+ help=_("List only ports with the specified device ID")
+ )
parser.add_argument(
'--mac-address',
metavar='<mac-address>',
@@ -553,6 +558,8 @@ class ListPort(command.Lister):
column_headers += ('Security Groups', 'Device Owner', 'Tags')
if parsed_args.device_owner is not None:
filters['device_owner'] = parsed_args.device_owner
+ if parsed_args.device_id is not None:
+ filters['device_id'] = parsed_args.device_id
if parsed_args.router:
_router = network_client.find_router(parsed_args.router,
ignore_missing=False)
diff --git a/openstackclient/tests/unit/network/v2/test_port.py b/openstackclient/tests/unit/network/v2/test_port.py
index 3f751818..908177ce 100644
--- a/openstackclient/tests/unit/network/v2/test_port.py
+++ b/openstackclient/tests/unit/network/v2/test_port.py
@@ -759,6 +759,25 @@ class TestListPort(TestPort):
self.assertEqual(self.columns, columns)
self.assertEqual(self.data, list(data))
+ def test_port_list_device_id_opt(self):
+ arglist = [
+ '--device-id', self._ports[0].device_id,
+ ]
+
+ verifylist = [
+ ('device_id', self._ports[0].device_id)
+ ]
+
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ columns, data = self.cmd.take_action(parsed_args)
+
+ self.network.ports.assert_called_once_with(**{
+ 'device_id': self._ports[0].device_id
+ })
+ self.assertEqual(self.columns, columns)
+ self.assertEqual(self.data, list(data))
+
def test_port_list_device_owner_opt(self):
arglist = [
'--device-owner', self._ports[0].device_owner,