Fix test_overcloud_processes_running on OSP17
Some process names have been changed in the latest OSP release and the test needs to be adapted to those changes In case of redis, it is not deployed by default, unless other services requiring it are deployed Change-Id: I543d0954b882985a3c2fd3659187c8907dba3cfc
This commit is contained in:
parent
079c894bf1
commit
e9e6729f7c
|
@ -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
|
||||
|
|
|
@ -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: "
|
||||
|
|
Loading…
Reference in New Issue