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 != ''
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
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))
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))
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'
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))
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_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')
def test_host_role_association(provider, soft_assert): view = navigate_to(provider, 'ProviderNodes') nodes = [q.name for q in view.entities.get_all()] for node in nodes: host = Host(node, provider=provider) host.run_smartstate_analysis() wait_for(is_host_analysis_finished, [host.name], delay=15, timeout="10m", fail_func=host.browser.refresh) view = navigate_to(host, 'Details') role_name = str(view.title.text.split()[1]).translate(None, '()') role_name = 'Compute' if role_name == 'NovaCompute' else role_name try: role_assoc = view.entities.relationships.get_text_of('Deployment Role') except NoSuchElementException: role_assoc = view.entities.relationships.get_text_of('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) 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")