attempt to fix cyclonus tests: detect cyclonus pod stalls and gate on aws-node readiness - #653
Open
jupdec wants to merge 1 commit into
Open
attempt to fix cyclonus tests: detect cyclonus pod stalls and gate on aws-node readiness#653jupdec wants to merge 1 commit into
jupdec wants to merge 1 commit into
Conversation
Wait for aws-node pods Ready with restartCount==0 for 30s before submitting the cyclonus Job, and bail with full diagnostics in ~5min if the cyclonus pod fails to reach Running. Prevents the silent 5h ContainerCreating hang seen on post-aws#606 runs.
Contributor
Author
|
/test cyclonus 2c9a265 |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #653 +/- ##
==========================================
+ Coverage 31.60% 31.63% +0.02%
==========================================
Files 27 27
Lines 3490 3490
==========================================
+ Hits 1103 1104 +1
+ Misses 2285 2284 -1
Partials 102 102
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
Cyclonus Test Results: ✅ Passed
|
jupdec
marked this pull request as ready for review
August 14, 2026 22:00
zac-nixon
approved these changes
Aug 18, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Issue #, if available:
Post-#606 non-skipped PR Cyclonus Tests runs hung the cyclonus Job pod in ContainerCreating for the full 5 h timeout (noticed 5 cases). Under bash -e, the follow-up kubectl logs failure aborted the script before kubectl get pods -A -owide could run — wiping all evidence. The branch turns that into a fast, verbose failure and gates on real aws-node readiness so the submission doesn't happen while the daemonset is still rolling.
Description of changes:
scripts/lib/network-policy.sh (+62) — new function:
window; overridable via AWS_NODE_SETTLE_TIMEOUT / AWS_NODE_SETTLE_WINDOW. Distroless-safe (no kubectl exec into containers). Ignores pods with
deletionTimestamp so it correctly handles rollouts.
scripts/lib/tests.sh (+86 / −5) — two new functions, one modified:
describe and logs --tail=200 for both aws-node and aws-eks-nodeagent containers. Each line has || true so nothing aborts the dump.
diagnostics dump if the pod is still not Running after a bounded timeout (default 300 s, overridable via CYCLONUS_POD_START_TIMEOUT).
hanging for 5 h. Also softens the kubectl logs / kubectl get pods / kubectl delete calls with || true / --ignore-not-found=true so set -euoE
pipefail can't abort the script mid-dump. On job timeout, marks TEST_FAILED=true and calls dump_cyclonus_diagnostics.
scripts/run-cyclonus-tests.sh (+5) — inserts a call to wait_for_aws_node_settled between the addon-install path and run_cyclonus_tests. Aborts
with exit 1 if aws-node hasn't quiesced, refusing to submit cyclonus against a not-ready dataplane.
Testing
Ran cyclonus tests locally successfully
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.