summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2023-04-04 08:10:09 +0000
committerGerrit Code Review <review@openstack.org>2023-04-04 08:10:09 +0000
commit5282bd26221892e0aa80a556d1bcd2d96d83cdbc (patch)
treec0a3f5182a9ede62074e9f497e96edd1c8636957
parent72034196ca07624d89f736bce03b233b482c1f74 (diff)
parente74f2d94fe5edfcb2b163851d85c202be5eaa309 (diff)
downloadpython-openstackclient-5282bd26221892e0aa80a556d1bcd2d96d83cdbc.tar.gz
Merge ""hypervisor list --matching" showed the wrong result"
-rw-r--r--openstackclient/compute/v2/hypervisor.py16
-rw-r--r--openstackclient/tests/unit/compute/v2/test_hypervisor.py12
2 files changed, 16 insertions, 12 deletions
diff --git a/openstackclient/compute/v2/hypervisor.py b/openstackclient/compute/v2/hypervisor.py
index d4b4003b..971e3d2a 100644
--- a/openstackclient/compute/v2/hypervisor.py
+++ b/openstackclient/compute/v2/hypervisor.py
@@ -69,7 +69,11 @@ class ListHypervisor(command.Lister):
parser.add_argument(
'--matching',
metavar='<hostname>',
- help=_("Filter hypervisors using <hostname> substring")
+ help=_(
+ "Filter hypervisors using <hostname> substring"
+ "Hypervisor Type and Host IP are not returned "
+ "when using microversion 2.52 or lower"
+ )
)
parser.add_argument(
'--marker',
@@ -128,6 +132,9 @@ class ListHypervisor(command.Lister):
raise exceptions.CommandError(msg)
list_opts['limit'] = parsed_args.limit
+ if parsed_args.matching:
+ list_opts['hypervisor_hostname_pattern'] = parsed_args.matching
+
column_headers = (
"ID",
"Hypervisor Hostname",
@@ -142,6 +149,7 @@ class ListHypervisor(command.Lister):
'host_ip',
'state'
)
+
if parsed_args.long:
if not sdk_utils.supports_microversion(compute_client, '2.88'):
column_headers += (
@@ -157,11 +165,7 @@ class ListHypervisor(command.Lister):
'memory_size'
)
- if parsed_args.matching:
- data = compute_client.find_hypervisor(
- parsed_args.matching, ignore_missing=False)
- else:
- data = compute_client.hypervisors(**list_opts, details=True)
+ data = compute_client.hypervisors(**list_opts, details=True)
return (
column_headers,
diff --git a/openstackclient/tests/unit/compute/v2/test_hypervisor.py b/openstackclient/tests/unit/compute/v2/test_hypervisor.py
index e5804665..ab14072d 100644
--- a/openstackclient/tests/unit/compute/v2/test_hypervisor.py
+++ b/openstackclient/tests/unit/compute/v2/test_hypervisor.py
@@ -131,7 +131,8 @@ class TestHypervisorList(TestHypervisor):
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
# Fake the return value of search()
- self.sdk_client.find_hypervisor.return_value = [self.hypervisors[0]]
+ self.sdk_client.hypervisors.return_value = [self.hypervisors[0]]
+
self.data = (
(
self.hypervisors[0].id,
@@ -147,10 +148,9 @@ class TestHypervisorList(TestHypervisor):
# containing the data to be listed.
columns, data = self.cmd.take_action(parsed_args)
- self.sdk_client.find_hypervisor.assert_called_with(
- self.hypervisors[0].name,
- ignore_missing=False
- )
+ self.sdk_client.hypervisors.assert_called_with(
+ hypervisor_hostname_pattern=self.hypervisors[0].name,
+ details=True)
self.assertEqual(self.columns, columns)
self.assertEqual(self.data, tuple(data))
@@ -164,7 +164,7 @@ class TestHypervisorList(TestHypervisor):
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
# Fake exception raised from search()
- self.sdk_client.find_hypervisor.side_effect = \
+ self.sdk_client.hypervisors.side_effect = \
exceptions.NotFound(None)
self.assertRaises(exceptions.NotFound,