feat(go-pmtud): remove init container and preStop hook - #12636
Conversation
|
|
||
| --- | ||
|
|
||
| **Verdict: APPROVED** — Specification fully met, code quality sound, no issues identified. |
There was a problem hiding this comment.
Nope, this can be removed of course! Thanks for highlighting
|
nit: I'd prefer a safer rollout approach here. Instead of removing the init container and preStop hook outright, could we:
The iptables rules are crucial for PMTUD — if the new in-binary lifecycle has a bug in setup/teardown, we'd break path MTU discovery cluster-wide with no easy rollback other than reverting the chart bump. |
|
Yes...This makes sense. I'll address this. Q: With the changes to the go-pmtud image (https://github.com/sapcc/go-pmtud/pull/79/changes#diff-dd2c0eb6ea5cfc6c4bd4eac30934e2d5746747af48fef6da689e85b752f39557R17) where will be no shell available once sapcc/go-pmtud#79 is merged. So, even we have the flag in the helm chart the preStart/Stop scripts would only be work with an image version before sapcc/go-pmtud#79. Is this okay or should we also delay the Is there a way to prevent the promotion to production based on the chart version? If not, we might need to add the toggle also for go-pmtud. |
Add pmtud.inBinaryLifecycle (default: false) to allow gradual migration. When false, the init container and preStop hook manage iptables rules. When true, the binary handles rule lifecycle (no init container / preStop).
I've double checked with Claude and it could answer all of my questions. Based on the insights Claude provided, here is my proposal to make the rollout to QA first. Current ProblemOnce the scratch image (go-pmtud#79) runs, there's no shell in the Change Sequence
|
sapcc/go-pmtud#79 moves the preStart and preStop scripts into Go code of go-pmtud to enable FROM SCRATCH runtime image.
This PR removes the script from the respective helm chart