Identical Listeners test - #2563
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Team Run ID: 📒 Files selected for processing (1)
Included review availability: Your plan provides up to 4 included reviews per hour; 3 remain after this review. 📝 WalkthroughWalkthroughAdds integration coverage for identical listener conflict handling. The test dynamically identifies the active listener, deletes it, and confirms that the remaining listener becomes configured and owns the shared Service and router entry. It also corrects a certificate test comment. ChangesListener failover
Estimated code review effort: 2 (Simple) | ~10 minutes Merge Risk: 🔵 Low · up to The test may proceed before listener takeover is fully complete, which could cause intermittent or misleading failures. The PR is otherwise mergeable, with explicit follow-up to require the completed configured state before polling returns. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Warning Some tools did not complete. Review the errors below. 🔧 golangci-lint (2.13.2)level=error msg="[linters_context] typechecking error: build constraints exclude all Go files in /tests/integration/kube/controller" Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: a53b3f86-8e24-4913-b430-081c51ef6db0
📒 Files selected for processing (1)
tests/integration/kube/controller/listener_test.go
Included review availability: Your plan provides up to 4 included reviews per hour; 3 remain after this review.
|
|
||
| // Wait until 'B' is rejected because it's a duplicate | ||
| var lb *skupperv2alpha1.Listener | ||
| waitFor(t, 30*time.Second, 250*time.Millisecond, func() (bool, error) { |
There was a problem hiding this comment.
Kubernetes does not necessarily guarantee that resources get "created" in the order submitted. While it is likely that the second listener will be rejected the test would be improved if it anticipates either listener can claim being the initial owner.
There was a problem hiding this comment.
Thanks! I will remember this.
I think I have taken care of it now by just checking to see which listener comes out on top.
…e the one that gets the binding.
This test takes a while -- every time I have run it, it has taken very close to 27 seconds.
Create two Listeners on a Site, identical except for their names.
The first will become active -- it will own the Service, and its name will show up in the Router Config.
The second one will be rejected with an error.
But then if you kill the first one, after some time the second one will get adopted.
It will own the Service, and its name will show up in the Router Config.
Summary by CodeRabbit