Joe H. Rahme 27043b74c6 Drop dependency on libvirt-python
Most existing tests are using our own VirshXMLClient (based on the
upstream tempest ssh client) and only the test_cpu_pinning.py tests
are using the libvirt client.

On one hand, using the libvirt-python client proves a bit more
complicated on a tripleo deployment, and it is taking too much effort
to get it to work on our infrared deployment.

On the other hand, all the other existing tests are using the ssh
client. If libvirt-python clients are to be introduced, it should be
inside of clients.py and it would be included in all the other tests.

(PS: Prior to this patch, the cpu pinning tests have not been run
successfully on our infrared deployment)

Change-Id: I2b65dca4fd26e9524b2b3ed7e182292eb5595599
2019-01-22 18:37:36 +00:00

63 lines
2.5 KiB
Python

# Copyright 2016 Red Hat
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
from oslo_log import log as logging
from tempest.api.compute import base
from tempest.common import waiters
from tempest import config
CONF = config.CONF
LOG = logging.getLogger(__name__)
class BaseTest(base.BaseV2ComputeAdminTest):
@classmethod
def setup_clients(cls):
super(BaseTest, cls).setup_clients()
# TODO(stephenfin): Rewrite tests to use 'admin_servers_client' etc.
cls.servers_client = cls.os_admin.servers_client
cls.flavors_client = cls.os_admin.flavors_client
cls.hypervisor_client = cls.os_admin.hypervisor_client
def create_test_server(self, *args, **kwargs):
# override the function to return the admin view of the created server
kwargs['wait_until'] = 'ACTIVE'
server = super(BaseTest, self).create_test_server(*args, **kwargs)
return self.admin_servers_client.show_server(server['id'])['server']
def create_flavor(self, ram=64, vcpus=2, disk=0, name=None,
is_public='True', **kwargs):
# override the function to configure sane defaults
return super(BaseTest, self).create_flavor(ram, vcpus, disk, name,
is_public, **kwargs)
def resize_server(self, server_id, new_flavor_id, **kwargs):
# override the function to return the resized server
# TODO(stephenfin): Add this to upstream
super(BaseTest, self).resize_server(server_id, new_flavor_id, **kwargs)
return self.servers_client.show_server(server_id)['server']
def reboot_server(self, server_id, reboot_type):
# TODO(stephenfin): Add this to upstream
self.servers_client.reboot_server(server_id, type=reboot_type)
waiters.wait_for_server_status(self.servers_client, server_id,
'ACTIVE')
return self.servers_client.show_server(server_id)['server']