def services_check_test(): """ Verify some services """ env_ips = GeneralStorageRouter.get_all_ips() non_running_services = [] for env_ip in env_ips: non_running_services = GeneralSystem.list_non_running_ovs_services(env_ip) if len(non_running_services): non_running_services.append([env_ip, non_running_services]) assert len(non_running_services) == 0, "Found non running services on {0}".format(non_running_services)
def ovs_2493_detect_could_not_acquire_lock_events_test(): """ Verify lock errors """ errorlist = "" command = "grep -C 1 'Could not acquire lock' /var/log/ovs/lib.log" gridips = GeneralStorageRouter.get_all_ips() for gridip in gridips: out = General.execute_command_on_node(gridip, command + " | wc -l", allow_insecure=True) if not out == '0': errorlist += "node %s \n:{0}\n\n".format(General.execute_command_on_node(gridip, command).splitlines()) % gridip assert len(errorlist) == 0, "Lock errors detected in lib logs on \n" + errorlist
def ssh_check_test(): """ Verify SSH keys """ issues_found = [] env_ips = GeneralStorageRouter.get_all_ips() for env_ip_from in env_ips: out = General.execute_command_on_node(env_ip_from, "cat ~/.ssh/known_hosts", allow_insecure=True) for env_ip_to in env_ips: if env_ip_from != env_ip_to: if env_ip_to not in out: issues_found.append('Host key verification not found between {0} and {1}'.format(env_ip_from, env_ip_to)) assert len(issues_found) == 0, 'Following issues were found:\n - {0}'.format('\n - '.join(issues_found))
def _get_description(plan_comment="", durations=""): """ Generate description for pushing to Testrail """ child_process = subprocess.Popen(args="dmidecode | grep -A 12 'Base Board Information'", shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE) sysinfo, _ = child_process.communicate() if child_process.returncode != 0: sysinfo = "NO MOTHERBOARD INFORMATION FOUND" child_process = subprocess.Popen(args="cat /etc/lsb-release", shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE) osinfo, _ = child_process.communicate() if child_process.returncode != 0: osinfo = "NO OS INFORMATION FOUND" sysinfo += osinfo child_process = subprocess.Popen(args="lshw -short", shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE) lshwinfo, _ = child_process.communicate() if child_process.returncode != 0: lshwinfo = "NO HARDWARE INFORMATION FOUND" diskinfo = '' meminfo = [] cpuinfo = [] for line in lshwinfo.splitlines(): if line.find("disk") >= 0: if line.find('DVD-ROM') >= 0 or line.find('CD-ROM') >= 0: continue l = line.split() l.pop(2) l.pop(0) for part in l: diskinfo += '%13s' % part diskinfo += '\n' elif line.find('System Memory') >= 0 or line.find("System memory") >= 0: l = line.split() index = l.index('memory') + 1 for item in l[index:]: meminfo.append(item) elif line.find('processor') >= 0 and line.find('CPU [empty]') == -1: l = line.split() index = l.index('processor') + 1 cinfo = " ".join(l[index:]) cpuinfo.append(cinfo) hardware_info = "### " + sysinfo + '\n### Disk Information\n' + diskinfo + '\n### Processor Information\n' + '* ' + '\n* '.join(cpuinfo) + '\n### Memory Information\n' + '* ' + ' '.join(meminfo) description = "" node_ips = "" for ip in GeneralStorageRouter.get_all_ips(): node_ips += "* " + ip + "\n" for item, value in (("ip", "%s" % node_ips), ("testsuite", durations), ("Hypervisor", GeneralHypervisor.get_hypervisor_type()), ("hardware", hardware_info), ("package", _get_package_info()), ("Comment ", ('*' * 40 + "\n" + plan_comment) if plan_comment else '')): description += "# %s INFO \n%s\n" % (item.upper(), value) return description