From 0f02029d917366c6c757ebd2644d83e4fef1f33e Mon Sep 17 00:00:00 2001 From: Dmitriy Rabotyagov Date: Tue, 1 Dec 2020 12:44:30 +0200 Subject: [PATCH] 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(+) diff --git a/openstackclient/compute/v2/server.py b/openstackclient/compute/v2/server.py index 1e39010af4..c6da0fbaca 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 5fd15e6ab6..dfb8df30d0 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,