-
Notifications
You must be signed in to change notification settings - Fork 246
ci: mtu check for cilium e2e #3624
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
base: master
Are you sure you want to change the base?
Conversation
/azp run Azure Container Networking PR |
Azure Pipelines successfully started running 1 pipeline(s). |
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.
Pull Request Overview
This PR adds an MTU check for Cilium e2e tests by deploying an nginx application and executing a validation script to compare pod and node MTU values.
- Adds a new nginx deployment manifest for Kubernetes
- Integrates MTU validation steps into multiple pipeline YAML templates
- Executes the cilium-mtu-validation.sh script via newly added CI steps
Reviewed Changes
Copilot reviewed 10 out of 11 changed files in this pull request and generated 2 comments.
Show a summary per file
File | Description |
---|---|
hack/manifests/nginx.yaml | New nginx deployment manifest for MTU testing deployed in kube-system |
.pipelines/templates/cilium-tests.yaml | Added CI step to deploy nginx and run MTU validation |
.pipelines/singletenancy/cilium/cilium-e2e.steps.yaml | Added CI step with workingDirectory for MTU validation |
.pipelines/singletenancy/cilium-overlay/cilium-overlay-e2e.steps.yaml | Added CI step with workingDirectory for MTU validation |
.pipelines/singletenancy/cilium-overlay/cilium-overlay-e2e-step-template.yaml | Added CI step for MTU validation |
.pipelines/singletenancy/cilium-overlay-withhubble/cilium-overlay-e2e.steps.yaml | Added CI step with workingDirectory for MTU validation |
.pipelines/singletenancy/cilium-overlay-withhubble/cilium-overlay-e2e-step-template.yaml | Added CI step for MTU validation |
.pipelines/singletenancy/cilium-dualstack-overlay/cilium-dualstackoverlay-e2e.steps.yaml | Added CI step with workingDirectory for MTU validation |
.pipelines/singletenancy/cilium-dualstack-overlay/cilium-dualstackoverlay-e2e-step-template.yaml | Added CI step for MTU validation |
.pipelines/cni/cilium/cilium-overlay-load-test-template.yaml | Extended load test with MTU validation steps |
Files not reviewed (1)
- hack/scripts/cilium-mtu-validation.sh: Language not supported
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.
Can we change this to a template and also have the template call within cilium-tests.yaml
?
kubectl apply -f hack/manifests/nginx.yaml | ||
kubectl wait --for=condition=available --timeout=60s -n kube-system deployment/nginx |
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.
we are doing this in the script as well right ? We can remove tis from here in that case.
# in CNI release test scenario scale deployments to 3 * node count to get replicas on each node | ||
if [ "$node_count" -gt 1 ]; then | ||
echo "Scaling nginx deployment to $((3 * node_count)) replicas" | ||
kubectl scale deployment nginx --replicas=$((2 * node_count)) -n kube-system |
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.
So it says scaing to 3*node_count
but does only to 2*node_count
?
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.
ah will update this, meant to be 3
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.
Wouldn't this be easier to just set this on line 8 and just call $(node_count)
?
.pipelines/singletenancy/cilium-overlay-withhubble/cilium-overlay-e2e-step-template.yaml
Outdated
Show resolved
Hide resolved
# in CNI release test scenario scale deployments to 3 * node count to get replicas on each node | ||
if [ "$node_count" -gt 1 ]; then | ||
echo "Scaling nginx deployment to $((3 * node_count)) replicas" | ||
kubectl scale deployment nginx --replicas=$((2 * node_count)) -n kube-system |
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.
Wouldn't this be easier to just set this on line 8 and just call $(node_count)
?
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.
2 last template call misses and 🚀
.pipelines/singletenancy/cilium-overlay/cilium-overlay-e2e-step-template.yaml
Outdated
Show resolved
Hide resolved
.pipelines/singletenancy/cilium-overlay/cilium-overlay-e2e.steps.yaml
Outdated
Show resolved
Hide resolved
echo "Nginx pod eth0 MTU: $nginx_mtu" | ||
|
||
# Get the node's eth0 MTU | ||
node_mtu=$(kubectl debug node/$node -it --image=busybox -- sh -c "cat /sys/class/net/eth0/mtu" 2>/dev/null | tail -n 1) |
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.
Any reason why we need to tail this and not the other one ?
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.
there's some extra output from creating the debug pod that needs to be filtered
Reason for Change:
compare pod eth0 mtu with node eth0 mtu and verify same value
Issue Fixed:
Requirements:
Notes: