diff --git a/test/pytest/test_resources.py b/test/pytest/test_resources.py index 98657e5e5fb9618f84113d8f87026e8e4af88944..4246f8296724b2bd88b568c0f4ff1880f51f8e33 100644 --- a/test/pytest/test_resources.py +++ b/test/pytest/test_resources.py @@ -227,10 +227,18 @@ def test_deployments(resource, namespace): resource = deployment.metadata.name namespace = deployment.metadata.namespace deployment = api.read_namespaced_deployment_status(resource, namespace) - ready = deployment.status.replicas == deployment.status.ready_replicas - print(f'Deployment "{resource}" in namespace "{namespace}": {ready}') - if not ready: + for condition in deployment.status.conditions: + if condition.type == 'Available': + available = condition.status == 'True' + replicas = deployment.spec.replicas + ready_replicas = deployment.status.ready_replicas + # Check if all replicas from the spec are ready + print(f'Deployment "{resource}" in namespace "{namespace}": ' + f'{available} ({ready_replicas}/{replicas})') + + + if not available or replicas != ready_replicas: failed += 1 failed_resources.append(resource) @@ -267,10 +275,12 @@ def test_statefulsets(resource, namespace): for statefulset in statefulsets.items: resource = statefulset.metadata.name namespace = statefulset.metadata.namespace - status = api.read_namespaced_stateful_set_status(resource, namespace) - ready = status.status.replicas == status.status.ready_replicas - print(f'statefulset "{resource}" in namespace "{namespace}": {ready}') - if not ready: + statefulset = api.read_namespaced_stateful_set_status(resource, namespace) + replicas = statefulset.spec.replicas + ready_replicas = statefulset.status.ready_replicas + print(f'statefulset "{resource}" in namespace "{namespace}": ' + f'{ready_replicas}/{replicas}') + if replicas != ready_replicas: failed += 1 failed_resources.append(resource) @@ -307,10 +317,12 @@ def test_daemonsets(resource, namespace): for daemonset in daemonsets.items: resource = daemonset.metadata.name namespace = daemonset.metadata.namespace - status = api.read_namespaced_daemon_set_status(resource, namespace) - ready = status.status.desired_number_scheduled == status.status.number_available - print(f'daemonset "{resource}" in namespace "{namespace}": {ready}') - if not ready: + daemonset = api.read_namespaced_daemon_set_status(resource, namespace) + desired_number_scheduled = daemonset.status.desired_number_scheduled + number_ready = daemonset.status.number_ready + print(f'daemonset "{resource}" in namespace "{namespace}": ' + f'{number_ready}/{desired_number_scheduled}') + if desired_number_scheduled != number_ready: failed += 1 failed_resources.append(resource)