Previously, our compute base class overwrote some clients with their
admin versions. This is needlessly confusing. This patch just removes
the setup_clients() method altogether, along with the
create_test_server() override, and forces tests to explicitly use
either self.os_primary or self.os_admin as the clients.
This change has a few simple but widespread consequences:
* We need to start using self.get_host_for_server() in a few places,
instead of looking up the 'OS-EXT-SRV-ATTR:host' attribute in the
server dict, as that's only present in the admin response.
* We can drop the public visibility in copy_default_image(), as that's
only allowed for admins, and the default shared visibility should
work just as well for us.
* The unit test for list_compute_hosts() would need to get fixed to
account for the use of self.os_admin.services_client instead of
self.services_client. Rather than do that, just drop the test
entirely, it adds no value as list_compute_hosts() is used in
whitebox tests themselves.
* We need to start explicitly plassing wait_until='ACTIVE' to every
one of our create_test_server calls, as the override used to do that
for us.
* Our live_migrate() helper now needs to be passed a clients manager
so that it can pass that through to the waiter when waiting for the
server to reach a particular status after the live migration.
Depends-on: https://review.opendev.org/c/openstack/tempest/+/820062
Change-Id: I8d5be63275bd8a28b7012e14b99cadafdea53a47