New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
test: Fix graceful termination test flake #18050
test: Fix graceful termination test flake #18050
Conversation
test-only --focus="K8sServicesTest.Checks graceful termination of service endpoints" --k8s_version=1.22 --kernel_version="419" Edit : Passed - https://jenkins.cilium.io/job/Cilium-PR-Tests-Kernel-Focus/360/console. |
test-only --focus="K8sServicesTest.Checks graceful termination of service endpoints" --k8s_version=1.22 --kernel_version="419" Edit : Passed - https://jenkins.cilium.io/job/Cilium-PR-Tests-Kernel-Focus/361/console. |
test-only --focus="K8sServicesTest.Checks graceful termination of service endpoints" --k8s_version=1.22 --kernel_version="419" Edit : Passed - https://jenkins.cilium.io/job/Cilium-PR-Tests-Kernel-Focus/362/console. |
test-only --focus="K8sServicesTest.Checks graceful termination of service endpoints" --k8s_version=1.22 --kernel_version="419" Edit : Passed - https://jenkins.cilium.io/job/Cilium-PR-Tests-Kernel-Focus/363/console. |
4/4 Jenkins runs passed. |
test-1.22-4.19 Edit - Failed in vagrant bootstrap -
Need to check if the test failed to destroy VMs as it never got this stage - https://github.com/cilium/cilium/blob/master/test/vagrant-ci-start.sh#L16. Job 'Cilium-PR-K8s-1.22-kernel-4.19' failed and has not been observed before, so may be related to your PR: Click to show.Test Name
Failure Output
If it is a flake, comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🚀
test-1.22-4.19 Edit : Passed - https://jenkins.cilium.io/job/Cilium-PR-K8s-1.22-kernel-4.19/34/. |
test-only --focus="K8sServicesTest.*" --k8s_version=1.22 --kernel_version="419" Edit : Running the entire Services test suite to expedite the process. The changes are limited to a test case anyway. Passed - https://jenkins.cilium.io/job/Cilium-PR-Tests-Kernel-Focus/365/console. |
test-only --focus="K8sServicesTest.*" --k8s_version=1.22 --kernel_version="419" Edit : Passed - https://jenkins.cilium.io/job/Cilium-PR-Tests-Kernel-Focus/366/console. |
FYI the failing test |
ee744c4
to
5b1e83a
Compare
test-only --focus="K8sServicesTest.*" --k8s_version=1.22 --kernel_version="419" Edit :
Posted in the #testing slack channel. |
The latest push contains rebased commits along with the reverted commit that quarantined the test (this PR fixes the test). |
test-only --focus="K8sServicesTest.*" --k8s_version=1.22 --kernel_version="419" Edit : Sole failure - #18072 |
Removing ready-to-merge label as @cilium/ci-structure wasn't covered with an approving review. I'll review now. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The test improvement looks good to me with just one nit on error message. As per the previous discussions, I however think we should remove the second commit for now.
5b1e83a
to
988e7ec
Compare
This reverts commit cbbea39 Signed-off-by: Aditi Ghag <aditi@cilium.io>
The graceful termination test apps [1] are updated to make the test logic to fix flakes. Specifically, added read and write deadlines while making socket calls on the server side. This way the server doesn't block on the socket calls when `SIGTERM` event is received on termination. While at it, also updated the test logic to validate that connectivity between client and server is intact at least for the configured `terminationGracePeriodInSeconds` duration. [1] https://github.com/cilium/graceful-termination-test-apps Signed-off-by: Aditi Ghag <aditi@cilium.io>
The library function provides the same functionality. Signed-off-by: Aditi Ghag <aditi@cilium.io>
988e7ec
to
cf0334b
Compare
test-only --focus="K8sServicesTest.*" --k8s_version=1.22 --kernel_version="419" Passed, hit #18072 -
https://jenkins.cilium.io/job/Cilium-PR-Tests-Kernel-Focus/371/console |
test-only --focus="K8sServicesTest.*" --k8s_version=1.22 --kernel_version="419" Edit : Passed, hit #18072 again https://jenkins.cilium.io/job/Cilium-PR-Tests-Kernel-Focus/372/ |
test-only --focus="K8sServicesTest.*" --k8s_version=1.23 --kernel_version="49" |
The graceful termination test apps [1] are updated to fix a flake. Specifically, added read and write deadlines while making socket calls on the server side. This way the server doesn't block on the socket calls when
SIGTERM
event is received on termination.While at it, also updated the test logic to validate that connectivity between client and server is intact at least for the configured
terminationGracePeriodInSeconds
duration.Ran the test locally a few times, and it passed every time.
[1] https://github.com/cilium/graceful-termination-test-apps
Signed-off-by: Aditi Ghag aditi@cilium.io
Fixes: #18045