From 0f02029d917366c6c757ebd2644d83e4fef1f33e Mon Sep 17 00:00:00 2001 From: Dmitriy Rabotyagov Date: Tue, 1 Dec 2020 12:44:30 +0200 Subject: Add option to filter instances by AZ Since nova API microversion 2.83 it is possible for users to filter instances by AZ. However even before that this functionality was available for admin role. Change-Id: Ife4c8e81aad2ff1dde50d9f23913d9dd9397b00c --- openstackclient/compute/v2/server.py | 8 ++++++++ openstackclient/tests/unit/compute/v2/test_server.py | 1 + 2 files changed, 9 insertions(+) (limited to 'openstackclient') diff --git a/openstackclient/compute/v2/server.py b/openstackclient/compute/v2/server.py index 1e39010a..c6da0fba 100644 --- a/openstackclient/compute/v2/server.py +++ b/openstackclient/compute/v2/server.py @@ -1365,6 +1365,13 @@ class ListServer(command.Lister): def get_parser(self, prog_name): parser = super(ListServer, self).get_parser(prog_name) + parser.add_argument( + '--availability-zone', + metavar='', + help=_('Only return instances that match the availability zone. ' + 'Note that this option will be ignored for non-admin users ' + 'when using ``--os-compute-api-version`` prior to 2.83.'), + ) parser.add_argument( '--reservation-id', metavar='', @@ -1574,6 +1581,7 @@ class ListServer(command.Lister): ignore_missing=False).id search_opts = { + 'availability_zone': parsed_args.availability_zone, 'reservation_id': parsed_args.reservation_id, 'ip': parsed_args.ip, 'ip6': parsed_args.ip6, diff --git a/openstackclient/tests/unit/compute/v2/test_server.py b/openstackclient/tests/unit/compute/v2/test_server.py index 5fd15e6a..dfb8df30 100644 --- a/openstackclient/tests/unit/compute/v2/test_server.py +++ b/openstackclient/tests/unit/compute/v2/test_server.py @@ -2962,6 +2962,7 @@ class TestServerList(TestServer): super(TestServerList, self).setUp() self.search_opts = { + 'availability_zone': None, 'reservation_id': None, 'ip': None, 'ip6': None, -- cgit v1.2.1