Skip to content

Conversation

salonichf5
Copy link
Contributor

Cherry pick for PR

Closes #3867

Checklist

Before creating a PR, run through this checklist and mark each as complete.

  • I have read the CONTRIBUTING doc
  • I have added tests that prove my fix is effective or that my feature works
  • I have checked that all unit tests pass after adding my changes
  • I have updated necessary documentation
  • I have rebased my branch onto main
  • I will ensure my PR is targeting the main branch and pulling from my branch from my own fork

Release notes

If this PR introduces a change that affects users and needs to be mentioned in the release notes,
please add a brief note that summarizes the change.

Added nginx image version validation during agent connections to prevent newer config being sent to pods running previous image versions during upgrades

@salonichf5 salonichf5 requested a review from a team as a code owner September 24, 2025 19:44
@github-actions github-actions bot added the bug Something isn't working label Sep 24, 2025
Copy link

codecov bot commented Sep 24, 2025

Codecov Report

❌ Patch coverage is 87.65432% with 10 lines in your changes missing coverage. Please review.
✅ Project coverage is 86.91%. Comparing base (1d3ce3a) to head (77b478d).
⚠️ Report is 1 commits behind head on release-2.1.

Files with missing lines Patch % Lines
internal/controller/nginx/agent/command.go 75.60% 8 Missing and 2 partials ⚠️
Additional details and impacted files
@@             Coverage Diff              @@
##           release-2.1    #3953   +/-   ##
============================================
  Coverage        86.91%   86.91%           
============================================
  Files              128      128           
  Lines            16013    16059   +46     
  Branches            62       62           
============================================
+ Hits             13918    13958   +40     
- Misses            1926     1931    +5     
- Partials           169      170    +1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Problem: During an NGF upgrade, the new version of the control plane will send a configuration to the old version of the nginx data plane, before the nginx data plane is updated to the new version. This can cause incompatibility issues for a brief amount of time, which could cause disruptions.

Solution: Implement version validation by ensuring the pod image matches the image in the current deployment/ daemonset spec to prevent configuration from being sent to nginx data plane pods still running the previous image version during upgrades.
@salonichf5 salonichf5 enabled auto-merge (squash) September 24, 2025 19:51
@salonichf5 salonichf5 merged commit 936fc8e into release-2.1 Sep 24, 2025
63 of 66 checks passed
@salonichf5 salonichf5 deleted the bug/nginx-image branch September 24, 2025 20:24
@github-project-automation github-project-automation bot moved this from 🆕 New to ✅ Done in NGINX Gateway Fabric Sep 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working release-notes
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

4 participants