diff --git a/.github/workflows/garm_e2e.yaml b/.github/workflows/garm_e2e.yaml index 4b71f3da..c25cb2e4 100644 --- a/.github/workflows/garm_e2e.yaml +++ b/.github/workflows/garm_e2e.yaml @@ -531,14 +531,32 @@ jobs: ORPHANS=$(openstack server list --long --image "$E2E_RUNNER_IMAGE_NAME" -f json \ | python3 -c "import json,sys; print('\n'.join(s['ID'] for s in json.load(sys.stdin) if 'garm-controller-id' in (s.get('Properties') or {})))") - if [ -z "$ORPHANS" ]; then + if [ -n "$ORPHANS" ]; then + echo "$ORPHANS" | while read -r ID; do + echo "Deleting orphaned runner ${ID}" + openstack server delete --wait "$ID" || echo "::warning::Could not delete ${ID}" + done + else echo "No runners left on the tenant." + fi + + # Each run's configurator manages its own garm-