Patch to fix test_aggregates_basic_ops and test_aggregates tests

Use method list_hypervisor to get info about running vms on hypervisor
instead of deprecated in Nova method list_servers_on_hypervisors

Related-prod: PRODX-42808

Change-Id: Ib94a11748ad319bae85d1d1ef29ff31927020510
diff --git a/tempest/serial_tests/api/admin/test_aggregates.py b/tempest/serial_tests/api/admin/test_aggregates.py
index ce54957..4555dff 100644
--- a/tempest/serial_tests/api/admin/test_aggregates.py
+++ b/tempest/serial_tests/api/admin/test_aggregates.py
@@ -239,11 +239,14 @@
                 hosts_in_zone.extend(agg['hosts'])
         hosts = [v for v in self.hosts_available if v not in hosts_in_zone]
         hosts_available = []
+        list_hypervisors = (
+            self.os_admin.hypervisor_client.list_hypervisors(
+                {"with_servers": True}))["hypervisors"]
         for host in hosts:
-            hypervisor_servers = (
-                self.os_admin.hypervisor_client.list_servers_on_hypervisor(
-                    host)["hypervisors"][0].get("servers", None))
-            if not hypervisor_servers:
+            hypervisor_vms = next((
+                hyper["running_vms"] for hyper in list_hypervisors if
+                hyper['service']['host'] == host), None)
+            if hypervisor_vms == 0:
                 hosts_available.append(host)
         if not hosts_available:
             raise self.skipException("All hosts are already in other "
diff --git a/tempest/serial_tests/scenario/test_aggregates_basic_ops.py b/tempest/serial_tests/scenario/test_aggregates_basic_ops.py
index cc45297..ba10322 100644
--- a/tempest/serial_tests/scenario/test_aggregates_basic_ops.py
+++ b/tempest/serial_tests/scenario/test_aggregates_basic_ops.py
@@ -61,12 +61,15 @@
             binary='nova-compute')['services']
         self.assertNotEmpty(svc_list)
         hosts_available = []
+        list_hypervisors = (
+            self.os_admin.hypervisor_client.list_hypervisors(
+                {"with_servers": True}))["hypervisors"]
         for host in svc_list:
             if (host['state'] == 'up' and host['status'] == 'enabled'):
-                hypervisor_servers = (
-                    self.os_admin.hypervisor_client.list_servers_on_hypervisor(
-                        host["host"])["hypervisors"][0].get("servers", None))
-                if not hypervisor_servers:
+                hypervisor_vms = next((
+                    hyper["running_vms"] for hyper in list_hypervisors if
+                    hyper['service']['host'] == host["host"]), None)
+                if hypervisor_vms == 0:
                     hosts_available.append(host["host"])
         aggregates = self.aggregates_client.list_aggregates()['aggregates']
         hosts_in_zone = []