def __init__(self): self.services_to_check = [ 'corosync.service', 'iptables.service', 'network.service', 'ntpd.service', 'pacemaker.service', 'rpcbind.service', 'sshd.service' ] self.oc_services_df = overcloud.get_overcloud_nodes_dataframe( get_overcloud_node_services_table)
def __init__(self): self.processes_to_check = [ 'ovsdb-server', 'pcsd', 'corosync', 'beam.smp', 'mysqld', 'redis-server', 'haproxy', 'nova-conductor', 'nova-scheduler', 'neutron-server', 'nova-compute', 'glance-api' ] self.oc_procs_df = overcloud.get_overcloud_nodes_dataframe( get_overcloud_node_processes_table)
def get_overcloud_nodes_running_service(service): """ Check what nodes are running the specified service or unit process: exact str of a process name as seen in systemctl -a :return: list of overcloud nodes """ oc_procs_df = overcloud.get_overcloud_nodes_dataframe( get_overcloud_node_services_table) oc_nodes_running_service = oc_procs_df.query('UNIT=="{}"'.format(service))[ 'overcloud_node'].unique() return oc_nodes_running_service
def get_overcloud_nodes_running_process(process): """ Check what nodes are running the specifies process: exact str of a process name as seen in ps -axw -o "%c" :return: list of overcloud nodes """ oc_procs_df = overcloud.get_overcloud_nodes_dataframe( get_overcloud_node_processes_table) oc_nodes_running_process = oc_procs_df.query( 'PROCESS=="{}"'.format(process))['overcloud_node'].unique() return oc_nodes_running_process
def check_if_process_running_on_overcloud(process): """ Check what nodes are running the specifies process: exact str of a process name as seen in ps -axw -o "%c" :return: list of overcloud nodes """ oc_services_df = overcloud.get_overcloud_nodes_dataframe( get_overcloud_node_services_table) if not oc_services_df.query('UNIT=="{}"'.format(process)).empty: return True else: return False
def basic_overcloud_processes_running(self): """ Checks that the oc_procs_df dataframe has all of the list procs :return: Bool """ for attempt_number in range(600): try: for process_name in self.processes_to_check: # osp16/python3 process is "neutron-server:" if process_name == 'neutron-server' and \ self.oc_procs_df.query('PROCESS=="{}"'.format( process_name)).empty: process_name = 'neutron-server:' if not self.oc_procs_df.query( 'PROCESS=="{}"'.format(process_name)).empty: LOG.info("overcloud processes status checks: " "process {} is " "in running state".format(process_name)) continue else: LOG.info( "Failure : overcloud processes status checks:" "process {} is not running ".format(process_name)) raise OvercloudProcessesException( process_error="process {} is not running ".format( process_name)) # if all procs are running we can return true return True except OvercloudProcessesException: LOG.info('Retrying overcloud processes checks attempt ' '{} of 360'.format(attempt_number)) time.sleep(1) self.oc_procs_df = overcloud.get_overcloud_nodes_dataframe( get_overcloud_node_processes_table) # exhausted all retries tobiko.fail('Not all overcloud processes are running !\n')
def __init__(self): self.processes_to_check = [ 'ovsdb-server', 'pcsd', 'corosync', 'beam.smp', 'mysqld', 'redis-server', 'haproxy', 'nova-conductor', 'nova-scheduler', 'neutron-server', 'nova-compute', 'glance-api' ] self.ovn_processes_to_check_per_node = [{ 'name': 'ovn-controller', 'node_group': 'controller', 'number': 'all' }, { 'name': 'ovn-controller', 'node_group': 'compute', 'number': 'all' }, { 'name': 'ovn-northd', 'node_group': 'controller', 'number': 1 }] self.oc_procs_df = overcloud.get_overcloud_nodes_dataframe( get_overcloud_node_processes_table)
def setup_fixture(self): self.oc_services_df = overcloud.get_overcloud_nodes_dataframe( get_overcloud_node_services_table)