Merge "Fix test_overcloud_processes_running on OSP17"

This commit is contained in:
Zuul 2022-07-06 13:42:07 +00:00 committed by Gerrit Code Review
commit 9c4a8d6680
2 changed files with 31 additions and 1 deletions

View File

@ -23,6 +23,7 @@ from tobiko import config
from tobiko.openstack import keystone
from tobiko.openstack import ironic
from tobiko.openstack import nova
from tobiko.openstack import topology
from tobiko.shell import sh
from tobiko.shell import ssh
from tobiko.tripleo import _undercloud
@ -243,3 +244,14 @@ def get_overcloud_nodes_dataframe(oc_node_df_function):
node_name in oc_nodes_names]
oc_procs_df = pandas.concat(oc_nodes_dfs, ignore_index=True)
return oc_procs_df
def is_redis_expected():
if topology.verify_osp_version('17.0', lower=True):
return True
services_requiring_redis = (
'designate', 'octavia', 'ceilometer', 'gnocchi', 'panko')
for service in services_requiring_redis:
if keystone.has_service(name=service):
return True
return False

View File

@ -127,7 +127,6 @@ class OvercloudProcessesStatus(object):
Checks that the oc_procs_df dataframe has all of the list procs
:return: Bool
"""
for attempt_number in range(600):
try:
@ -138,6 +137,25 @@ class OvercloudProcessesStatus(object):
self.oc_procs_df.query('PROCESS=="{}"'.format(
process_name)).empty:
process_name = 'neutron-server:'
# osp17 mysqld process name is mysqld_safe
if process_name == 'mysqld' and \
self.oc_procs_df.query('PROCESS=="{}"'.format(
process_name)).empty:
process_name = 'mysqld_safe'
# redis not deployed on osp17 by default, only if some
# other services such as designate and octavia are deployed
if (process_name == 'redis-server' and
not overcloud.is_redis_expected()):
redis_message = ("redis-server not expected on OSP 17 "
"and later releases by default")
if self.oc_procs_df.query(
f'PROCESS=="{process_name}"').empty:
LOG.info(redis_message)
continue
else:
raise OvercloudProcessesException(
process_error=redis_message)
if not self.oc_procs_df.query('PROCESS=="{}"'.format(
process_name)).empty:
LOG.info("overcloud processes status checks: "