Expand source code
@pytest.fixture(scope="class")
def available_node_names(api_client):
status_code, nodes_info = api_client.hosts.get()
assert status_code == 200, f"Failed to list nodes with error: {nodes_info}"
node_names = []
for node_info in nodes_info.get('data', []):
is_ready = False
for condition in node_info.get('status', {}).get('conditions', []):
if condition.get('type', "") == "Ready" and \
condition.get('status', "") == "True":
is_ready = True
break
if is_ready and not node_info.get('spec', {}).get('unschedulable', False):
node_names.append(node_info['metadata']['name'])
return node_names