Merge "Fix OvercloudServicesTest for OSP 16"

This commit is contained in:
Zuul 2021-09-04 04:53:20 +00:00 committed by Gerrit Code Review
commit 385962042d
2 changed files with 28 additions and 11 deletions
tobiko
tests/functional/tripleo
tripleo

@ -112,14 +112,15 @@ class OvercloudServicesTest(testtools.TestCase):
across the overcloud nodes across the overcloud nodes
""" """
services_status: services.OvercloudServicesStatus = (
tobiko.required_fixture(services.OvercloudServicesStatus))
def test_get_services_resource_table(self): def test_get_services_resource_table(self):
oss = services.OvercloudServicesStatus() self.assertIsInstance(self.services_status.oc_services_df,
self.assertIsInstance(oss.oc_services_df,
pd.DataFrame) pd.DataFrame)
def test_overcloud_services(self): def test_overcloud_services(self):
oss = services.OvercloudServicesStatus() self.assertTrue(self.services_status.basic_overcloud_services_running)
self.assertTrue(oss.basic_overcloud_services_running)
def test_get_overcloud_nodes_running_pcs_resource(self): def test_get_overcloud_nodes_running_pcs_resource(self):
nodes_list = pacemaker.get_overcloud_nodes_running_pcs_resource( nodes_list = pacemaker.get_overcloud_nodes_running_pcs_resource(

@ -86,7 +86,7 @@ def check_if_process_running_on_overcloud(process):
return False return False
class OvercloudServicesStatus(object): class OvercloudServicesStatus(tobiko.SharedFixture):
""" """
class to handle services checks, class to handle services checks,
checks that all of these are running in the overcloud: checks that all of these are running in the overcloud:
@ -94,14 +94,29 @@ class OvercloudServicesStatus(object):
'pacemaker.service','rpcbind.service','sshd.service' 'pacemaker.service','rpcbind.service','sshd.service'
""" """
def __init__(self):
self.services_to_check = ['corosync.service', 'iptables.service',
'network.service', 'ntpd.service',
'pacemaker.service', 'rpcbind.service',
'sshd.service']
SERVICES_TO_CHECK: typing.List[str] = [
'corosync.service',
'iptables.service',
'network.service',
# Not found on OSP 16
# 'ntpd.service',
'pacemaker.service',
'rpcbind.service',
'sshd.service']
def __init__(self,
services_to_check: typing.List[str] = None):
super().__init__()
if services_to_check is None:
services_to_check = self.SERVICES_TO_CHECK
self.services_to_check = services_to_check
oc_services_df: typing.Any
def setup_fixture(self):
self.oc_services_df = overcloud.get_overcloud_nodes_dataframe( self.oc_services_df = overcloud.get_overcloud_nodes_dataframe(
get_overcloud_node_services_table) get_overcloud_node_services_table)
@property @property
def basic_overcloud_services_running(self): def basic_overcloud_services_running(self):
@ -110,6 +125,7 @@ class OvercloudServicesStatus(object):
running running
:return: Bool :return: Bool
""" """
tobiko.setup_fixture(self)
for service_name in self.services_to_check: for service_name in self.services_to_check:
if not self.oc_services_df.query('UNIT=="{}"'.format( if not self.oc_services_df.query('UNIT=="{}"'.format(
service_name)).empty: service_name)).empty: