Ejemplo n.º 1
0
def test_host_security(provider, soft_assert):
    view = navigate_to(provider, 'ProviderNodes')
    entity_names = view.entities.all_entity_names
    assert len(entity_names) > 0
    for entity_name in entity_names:
        host = Host(name=entity_name, provider=provider)
        soft_assert(
            int(host.get_detail("Security", "Users")) > 0,
            'Nodes number of Users is 0')

        soft_assert(
            int(host.get_detail("Security", "Groups")) > 0,
            'Nodes number of Groups is 0')
Ejemplo n.º 2
0
def test_list_vms_infra_node(provider, soft_assert):
    navigate_to(provider.infra_provider, 'ProviderNodes')
    # Match hypervisors by IP with count of running VMs
    hvisors = {hv.host_ip: hv.running_vms for hv in provider.mgmt.api.hypervisors.list()}

    # Skip non-compute nodes
    quads = [q.name for q in Quadicon.all() if 'Compute' in q.name]
    for quad in quads:
        host = Host(quad, provider=provider.infra_provider)
        host_ip = host.get_detail('Properties', 'IP Address')
        vms = int(host.get_detail('Relationships', 'VMs'))
        soft_assert(vms == hvisors[host_ip],
                    'Number of instances on UI does not match with real value')
Ejemplo n.º 3
0
def test_host_security(provider, soft_assert):
    navigate_to(provider, 'Details')
    sel.click(InfoBlock.element("Relationships", "Nodes"))
    my_quads = list(Quadicon.all())
    assert len(my_quads) > 0
    for quad in my_quads:
        host = Host(name=quad.name, provider=provider)
        soft_assert(
            int(host.get_detail("Security", "Users")) > 0,
            'Nodes number of Users is 0')

        soft_assert(
            int(host.get_detail("Security", "Groups")) > 0,
            'Nodes number of Groups is 0')
Ejemplo n.º 4
0
def test_host_security(provider, soft_assert):
    navigate_to(provider, 'Details')
    sel.click(InfoBlock.element("Relationships", "Nodes"))
    my_quads = list(Quadicon.all())
    assert len(my_quads) > 0
    for quad in my_quads:
        host = Host(name=quad.name, provider=provider)
        soft_assert(
            int(host.get_detail("Security", "Users")) > 0,
            'Nodes number of Users is 0')

        soft_assert(
            int(host.get_detail("Security", "Groups")) > 0,
            'Nodes number of Groups is 0')
Ejemplo n.º 5
0
def test_host_role_association(provider, soft_assert):
    navigate_to(provider, 'ProviderNodes')
    names = [q.name for q in list(Quadicon.all())]
    for node in names:
        host = Host(node, provider=provider)
        host.run_smartstate_analysis()
        wait_for(is_host_analysis_finished, [host.name], delay=15,
                 timeout="10m", fail_func=toolbar.refresh)
        navigate_to(host, 'Details')
        role_name = summary_title().split()[1].translate(None, '()')
        role_name = 'Compute' if role_name == 'NovaCompute' else role_name
        try:
            role_assoc = host.get_detail('Relationships', 'Deployment Role')
        except NoSuchElementException:
            role_assoc = host.get_detail('Relationships', 'Cluster / Deployment Role')
        soft_assert(role_name in role_assoc, 'Deployment roles misconfigured')
def test_host_cpu_resources(provider, soft_assert):
    provider.load_details()
    sel.click(InfoBlock.element("Relationships", "Nodes"))
    my_quads = list(Quadicon.all())
    assert len(my_quads) > 0
    for quad in my_quads:
        host = Host(name=quad.name)
        soft_assert(get_integer_value(host.get_detail("Properties",
                                                      "Number of CPUs")) > 0,
                    "Aggregate Node CPU resources is 0")
        soft_assert(get_integer_value(
            host.get_detail("Properties", "Number of CPU Cores")) > 0,
            "Aggregate node CPUs is 0")
        soft_assert(get_integer_value(
            host.get_detail("Properties", "CPU Cores Per Socket")) > 0,
            "Aggregate Node CPU Cores is 0")
Ejemplo n.º 7
0
def test_host_devices(provider):
    view = navigate_to(provider, 'ProviderNodes')
    entity_names = view.entities.all_entity_names
    assert len(entity_names) > 0
    for entity_name in entity_names:
        host = Host(name=entity_name, provider=provider)
        assert int(host.get_detail("Properties", "Devices")) > 0
Ejemplo n.º 8
0
def test_host_hostname(provider, soft_assert):
    provider.summary.relationships.nodes.click()
    my_quads = list(Quadicon.all())
    assert len(my_quads) > 0
    for quad in my_quads:
        host = Host(name=quad.name, provider=provider)
        result = host.get_detail("Properties", "Hostname")
        soft_assert(result, "Missing hostname in: " + str(result))
Ejemplo n.º 9
0
def test_host_devices(provider):
    navigate_to(provider, 'Details')
    sel.click(InfoBlock.element("Relationships", "Nodes"))
    my_quads = list(Quadicon.all())
    assert len(my_quads) > 0
    for quad in my_quads:
        host = Host(name=quad.name, provider=provider)
        assert int(host.get_detail("Properties", "Devices")) > 0
Ejemplo n.º 10
0
def test_host_memory(provider):
    view = navigate_to(provider, 'ProviderNodes')
    entity_names = view.entities.all_entity_names
    assert len(entity_names) > 0
    for entity_name in entity_names:
        host = Host(name=entity_name, provider=provider)
        result = int(host.get_detail("Properties", "Memory").split()[0])
        assert result > 0
Ejemplo n.º 11
0
def test_host_hostname(provider, soft_assert):
    view = navigate_to(provider, 'ProviderNodes')
    entity_names = view.entities.all_entity_names
    assert len(entity_names) > 0
    for entity_name in entity_names:
        host = Host(name=entity_name, provider=provider)
        result = host.get_detail("Properties", "Hostname")
        soft_assert(result, "Missing hostname in: " + str(result))
Ejemplo n.º 12
0
def test_host_hostname(provider, soft_assert):
    provider.summary.relationships.nodes.click()
    my_quads = list(Quadicon.all())
    assert len(my_quads) > 0
    for quad in my_quads:
        host = Host(name=quad.name, provider=provider)
        result = host.get_detail("Properties", "Hostname")
        soft_assert(result, "Missing hostname in: " + str(result))
Ejemplo n.º 13
0
def test_host_devices(provider):
    navigate_to(provider, 'Details')
    sel.click(InfoBlock.element("Relationships", "Nodes"))
    my_quads = list(Quadicon.all())
    assert len(my_quads) > 0
    for quad in my_quads:
        host = Host(name=quad.name, provider=provider)
        assert int(host.get_detail("Properties", "Devices")) > 0
Ejemplo n.º 14
0
def test_host_security(provider, soft_assert):
    provider.load_details()
    sel.click(InfoBlock.element("Relationships", "Nodes"))
    my_quads = list(Quadicon.all())
    assert len(my_quads) > 0
    for quad in my_quads:
        host = Host(name=quad.name)
        host.run_smartstate_analysis()
        wait_for(lambda: is_host_analysis_finished(host.name), delay=15,
                 timeout="10m", fail_func=lambda: toolbar.select('Reload'))
        soft_assert(
            int(host.get_detail("Security", "Users")) > 0,
            'Nodes number of Users is 0')

        soft_assert(
            int(host.get_detail("Security", "Groups")) > 0,
            'Nodes number of Groups is 0')
Ejemplo n.º 15
0
def test_list_vms_infra_node(provider, soft_assert):
    navigate_to(provider.infra_provider, 'ProviderNodes')
    # Match hypervisors by IP with count of running VMs
    hvisors = {
        hv.host_ip: hv.running_vms
        for hv in provider.mgmt.api.hypervisors.list()
    }

    # Skip non-compute nodes
    quads = [q.name for q in Quadicon.all() if 'Compute' in q.name]
    for quad in quads:
        host = Host(quad, provider=provider.infra_provider)
        host_ip = host.get_detail('Properties', 'IP Address')
        vms = int(host.get_detail('Relationships', 'VMs'))
        soft_assert(
            vms == hvisors[host_ip],
            'Number of instances on UI does not match with real value')
Ejemplo n.º 16
0
def test_host_memory(provider):
    navigate_to(provider, 'Details')
    sel.click(InfoBlock.element("Relationships", "Nodes"))
    my_quads = list(Quadicon.all())
    assert len(my_quads) > 0
    for quad in my_quads:
        host = Host(name=quad.name, provider=provider)
        result = int(host.get_detail("Properties", "Memory").split()[0])
        assert result > 0
Ejemplo n.º 17
0
def test_host_auth(provider, soft_assert):
    navigate_to(provider, 'ProviderNodes')
    quads = list(Quadicon.all())
    for quad in quads:
        host = Host(name=quad.name, provider=provider)
        navigate_to(host, 'Details')
        auth_status = host.get_detail('Authentication Status', 'SSH Key Pair Credentials')
        soft_assert(auth_status == 'Valid',
                    'Incorrect SSH authentication status {}'.format(auth_status))
Ejemplo n.º 18
0
def test_host_memory(provider):
    navigate_to(provider, 'Details')
    sel.click(InfoBlock.element("Relationships", "Nodes"))
    my_quads = list(Quadicon.all())
    assert len(my_quads) > 0
    for quad in my_quads:
        host = Host(name=quad.name, provider=provider)
        result = int(host.get_detail("Properties", "Memory").split()[0])
        assert result > 0
Ejemplo n.º 19
0
def test_host_auth(provider, soft_assert):
    navigate_to(provider, 'ProviderNodes')
    quads = list(Quadicon.all())
    for quad in quads:
        host = Host(name=quad.name, provider=provider)
        navigate_to(host, 'Details')
        auth_status = host.get_detail('Authentication Status', 'SSH Key Pair Credentials')
        soft_assert(auth_status == 'Valid',
                    'Incorrect SSH authentication status {}'.format(auth_status))
def test_smbios_data(provider):
    provider.load_details()
    sel.click(InfoBlock.element("Relationships", "Nodes"))
    my_quads = list(Quadicon.all())
    assert len(my_quads) > 0
    for quad in my_quads:
        host = Host(name=quad.name)
        result = get_integer_value(host.get_detail("Properties", "Memory"))
        assert result > 0
Ejemplo n.º 21
0
def test_host_smbios_data(provider, soft_assert):
    """Checks that Manufacturer/Model values are shown for each infra node"""
    navigate_to(provider, 'ProviderNodes')
    names = [q.name for q in list(Quadicon.all())]
    for node in names:
        host = Host(node, provider=provider)
        navigate_to(host, 'Details')
        res = host.get_detail('Properties', 'Manufacturer / Model')
        soft_assert(res, 'Manufacturer / Model value are empty')
        soft_assert(res != 'N/A')
Ejemplo n.º 22
0
def test_host_zones_assigned(provider):
    view = navigate_to(provider, 'ProviderNodes')
    entity_names = [
        en for en in view.entities.all_entity_names if 'Compute' in en
    ]
    assert len(entity_names) > 0
    for entity_name in entity_names:
        host = Host(name=entity_name, provider=provider)
        result = host.get_detail('Relationships', 'Availability Zone')
        assert result, "Availability zone doesn't specified"
Ejemplo n.º 23
0
def test_host_smbios_data(provider, soft_assert):
    """Checks that Manufacturer/Model values are shown for each infra node"""
    navigate_to(provider, 'ProviderNodes')
    names = [q.name for q in list(Quadicon.all())]
    for node in names:
        host = Host(node, provider=provider)
        navigate_to(host, 'Details')
        res = host.get_detail('Properties', 'Manufacturer / Model')
        soft_assert(res, 'Manufacturer / Model value are empty')
        soft_assert(res != 'N/A')
Ejemplo n.º 24
0
def test_host_cpu_resources(provider, soft_assert):
    provider.load_details()
    sel.click(InfoBlock.element("Relationships", "Nodes"))
    my_quads = list(Quadicon.all())
    assert len(my_quads) > 0
    for quad in my_quads:
        host = Host(name=quad.name)
        host.run_smartstate_analysis()
        wait_for(lambda: is_host_analysis_finished(host.name), delay=15,
                 timeout="10m", fail_func=lambda: toolbar.select('Reload'))

        soft_assert(get_integer_value(host.get_detail("Properties",
                                                      "Number of CPUs")) > 0,
                    "Aggregate Node CPU resources is 0")
        soft_assert(get_integer_value(
            host.get_detail("Properties", "Number of CPU Cores")) > 0,
            "Aggregate node CPUs is 0")
        soft_assert(get_integer_value(
            host.get_detail("Properties", "CPU Cores Per Socket")) > 0,
            "Aggregate Node CPU Cores is 0")
Ejemplo n.º 25
0
def test_host_zones_assigned(provider):
    navigate_to(provider, 'Details')
    sel.click(InfoBlock.element("Relationships", "Nodes"))
    my_quads = list(Quadicon.all())
    assert len(my_quads) > 0
    my_quads = filter(lambda q: True if 'Compute' in q.name else False,
                      my_quads)
    for quad in my_quads:
        host = Host(name=quad.name, provider=provider)
        result = host.get_detail('Relationships', 'Availability Zone')
        assert result, "Availability zone doesn't specified"
Ejemplo n.º 26
0
def test_host_hostname(provider):
    provider.summary.relationship.nodes.click()
    my_quads = list(Quadicon.all())
    assert len(my_quads) > 0
    for quad in my_quads:
        host = Host(name=quad.name)
        host.run_smartstate_analysis()
        wait_for(lambda: is_host_analysis_finished(host.name), delay=15,
                 timeout="10m", fail_func=lambda: toolbar.select('Reload'))
        result = host.get_detail("Properties", "Hostname")
        assert result != ''
Ejemplo n.º 27
0
def test_host_smbios_data(provider, soft_assert):
    """Checks that Manufacturer/Model values are shown for each infra node"""
    view = navigate_to(provider, 'ProviderNodes')
    entity_names = view.entities.all_entity_names
    assert len(entity_names) > 0
    for entity_name in entity_names:
        host = Host(entity_name, provider=provider)
        navigate_to(host, 'Details')
        res = host.get_detail('Properties', 'Manufacturer / Model')
        soft_assert(res, 'Manufacturer / Model value are empty')
        soft_assert(res != 'N/A')
Ejemplo n.º 28
0
def test_host_zones_assigned(provider):
    navigate_to(provider, 'Details')
    sel.click(InfoBlock.element("Relationships", "Nodes"))
    my_quads = list(Quadicon.all())
    assert len(my_quads) > 0
    my_quads = filter(lambda q: True if 'Compute' in q.name else False,
                      my_quads)
    for quad in my_quads:
        host = Host(name=quad.name, provider=provider)
        result = host.get_detail('Relationships', 'Availability Zone')
        assert result, "Availability zone doesn't specified"
Ejemplo n.º 29
0
def test_host_cpu_resources(provider, soft_assert):
    navigate_to(provider, 'Details')
    sel.click(InfoBlock.element("Relationships", "Nodes"))
    my_quads = list(Quadicon.all())
    assert len(my_quads) > 0
    for quad in my_quads:
        host = Host(name=quad.name, provider=provider)
        fields = ['Number of CPUs', 'Number of CPU Cores',
                  'CPU Cores Per Socket']
        for field in fields:
            value = int(host.get_detail("Properties", field))
            soft_assert(value > 0, "Aggregate Node {} is 0".format(field))
Ejemplo n.º 30
0
def test_host_auth(provider, soft_assert):
    view = navigate_to(provider, 'ProviderNodes')
    entity_names = view.entities.all_entity_names
    assert len(entity_names) > 0
    for entity_name in entity_names:
        host = Host(name=entity_name, provider=provider)
        navigate_to(host, 'Details')
        auth_status = host.get_detail('Authentication Status',
                                      'SSH Key Pair Credentials')
        soft_assert(
            auth_status == 'Valid',
            'Incorrect SSH authentication status {}'.format(auth_status))
Ejemplo n.º 31
0
def test_host_cpu_resources(provider, soft_assert):
    view = navigate_to(provider, 'ProviderNodes')
    entity_names = view.entities.all_entity_names
    assert len(entity_names) > 0
    for entity_name in entity_names:
        host = Host(name=entity_name, provider=provider)
        fields = [
            'Number of CPUs', 'Number of CPU Cores', 'CPU Cores Per Socket'
        ]
        for field in fields:
            value = int(host.get_detail("Properties", field))
            soft_assert(value > 0, "Aggregate Node {} is 0".format(field))
Ejemplo n.º 32
0
def test_smbios_data(provider):
    provider.load_details()
    sel.click(InfoBlock.element("Relationships", "Nodes"))
    my_quads = list(Quadicon.all())
    assert len(my_quads) > 0
    for quad in my_quads:
        host = Host(name=quad.name)
        host.run_smartstate_analysis()
        wait_for(lambda: is_host_analysis_finished(host.name), delay=15,
                 timeout="10m", fail_func=lambda: toolbar.select('Reload'))
        result = get_integer_value(host.get_detail("Properties", "Memory"))
        assert result > 0
Ejemplo n.º 33
0
def test_host_cpu_resources(provider, soft_assert):
    navigate_to(provider, 'Details')
    sel.click(InfoBlock.element("Relationships", "Nodes"))
    my_quads = list(Quadicon.all())
    assert len(my_quads) > 0
    for quad in my_quads:
        host = Host(name=quad.name, provider=provider)
        fields = ['Number of CPUs', 'Number of CPU Cores',
                  'CPU Cores Per Socket']
        for field in fields:
            value = int(host.get_detail("Properties", field))
            soft_assert(value > 0, "Aggregate Node {} is 0".format(field))
Ejemplo n.º 34
0
def test_list_vms_infra_node(provider, soft_assert):
    if getattr(provider, 'infra_provider', None):
        pytest.skip("Provider {prov} doesn't have infra provider set".format(
            prov=provider.name))

    view = navigate_to(provider.infra_provider, 'ProviderNodes')
    # Match hypervisors by IP with count of running VMs
    hvisors = {
        hv.host_ip: hv.running_vms
        for hv in provider.mgmt.api.hypervisors.list()
    }

    # Skip non-compute nodes
    host_names = [e for e in view.entities.all_entity_names if 'Compute' in e]
    for host_name in host_names:
        host = Host(host_name, provider=provider.infra_provider)
        host_ip = host.get_detail('Properties', 'IP Address')
        vms = int(host.get_detail('Relationships', 'VMs'))
        soft_assert(
            vms == hvisors[host_ip],
            'Number of instances on UI does not match with real value')
Ejemplo n.º 35
0
def test_host_configuration(provider, soft_assert):
    navigate_to(provider, 'Details')
    sel.click(InfoBlock.element("Relationships", "Nodes"))
    my_quads = list(Quadicon.all())
    assert len(my_quads) > 0
    for quad in my_quads:
        host = Host(name=quad.name, provider=provider)
        host.run_smartstate_analysis()
        wait_for(is_host_analysis_finished, [host.name], delay=15,
                 timeout="10m", fail_func=toolbar.refresh)
        fields = ['Packages', 'Services', 'Files']
        for field in fields:
            value = int(host.get_detail("Configuration", field))
            soft_assert(value > 0, 'Nodes number of {} is 0'.format(field))
Ejemplo n.º 36
0
def test_host_configuration(provider, soft_assert):
    navigate_to(provider, 'Details')
    sel.click(InfoBlock.element("Relationships", "Nodes"))
    my_quads = list(Quadicon.all())
    assert len(my_quads) > 0
    for quad in my_quads:
        host = Host(name=quad.name, provider=provider)
        host.run_smartstate_analysis()
        wait_for(is_host_analysis_finished, [host.name], delay=15,
                 timeout="10m", fail_func=toolbar.refresh)
        fields = ['Packages', 'Services', 'Files']
        for field in fields:
            value = int(host.get_detail("Configuration", field))
            soft_assert(value > 0, 'Nodes number of {} is 0'.format(field))
Ejemplo n.º 37
0
def test_host_assigned_zones(provider):
    provider.load_details()
    sel.click(InfoBlock.element("Relationships", "Nodes"))
    my_quads = list(Quadicon.all())
    assert len(my_quads) > 0
    for quad in my_quads:
        if quad.name != NODE_TYPE:
            break
        host = Host(name=quad.name)
        host.run_smartstate_analysis()
        wait_for(lambda: is_host_analysis_finished(host.name), delay=15,
                 timeout="10m", fail_func=lambda: toolbar.select('Reload'))
        result = host.get_detail('Relationships', 'Availability Zone')
        assert result == 'nova'
Ejemplo n.º 38
0
def test_host_configuration(provider, soft_assert):
    view = navigate_to(provider, 'ProviderNodes')
    entity_names = view.entities.all_entity_names
    assert len(entity_names) > 0
    for entity_name in entity_names:
        host = Host(name=entity_name, provider=provider)
        host.run_smartstate_analysis()
        wait_for(is_host_analysis_finished, [host.name],
                 delay=15,
                 timeout="10m",
                 fail_func=toolbar.refresh)
        fields = ['Packages', 'Services', 'Files']
        for field in fields:
            value = int(host.get_detail("Configuration", field))
            soft_assert(value > 0, 'Nodes number of {} is 0'.format(field))