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))
Exemplo n.º 4
0
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