NGF: Improve upgrade docs - #2285
salonichf5 wants to merge 1 commit into
Conversation
|
|
||
| #### Upgrade considerations | ||
|
|
||
| When upgrading, pods roll one at a time. During this window, the new control plane may push configurations to pods still running the previous image version, causing temporary validation errors. |
There was a problem hiding this comment.
We technically should have fixed this problem a long time ago in our controller code...it shouldn't push config to pods that have a different image than the controller.
There was a problem hiding this comment.
Hmmm, that does make sense. I thought its the mismatch is causing the issue
| --set nginx.kind=daemonSet \ | ||
| --set nginx.service.type=NodePort \ | ||
| --set nginx.service.externalTrafficPolicy=Local \ | ||
| --set nginx.image.tag=2.7.0 |
There was a problem hiding this comment.
This should automatically be handled just by upgrading, because it's already hardcoded in the upgraded chart.
There was a problem hiding this comment.
Thanks for improving the upgrade docs, @salonichf5 — this "Upgrade considerations" section captures a real and confusing failure mode, and the recommended explicit-tag command is genuinely useful. I ran the change against the F5 Technical Writing Style Guide and verified the technical claims against the NGINX Gateway Fabric source. The content is accurate; the notes below are minor.
Style findings
conditional-sentences(line 131): state the condition before the outcome — see the inline comment.- Minor, optional (grouped so this isn't a wall of nits):
sentence-length(line 142): "For example, if you have a DaemonSet and NodePort set inNginxProxy, make sure to specify that in your upgrade command:" runs about 21 words; the task limit is 20. Splitting off the "For example" clause brings it under.pronouns(line 142): "specify that" — naming what to specify (theNginxProxysettings) removes the ambiguous reference.
Technical accuracy — for a subject matter expert to confirm (I verified against the NGF source but did not change any technical content):
- The core claims all check out against NGF v2.7.0 and v2.6.7: the Helm values and casing (
nginx.kind=daemonSet,nginx.service.type,nginx.service.externalTrafficPolicy,nginx.image.tag), the move ofworker_processesinto/etc/nginx/main-includes/main.confin 2.7.0, the/etc/nginx/nginx.conf:4duplicate-directive error, and both image tags. - One item to confirm: line 129 frames the duplicate-directive error as a temporary artifact of the rolling window ("temporary validation errors"). Upstream issue nginx/nginx-gateway-fabric#5883 reports the same error persisting on freshly started 2.7.0 data plane pods, not only during the transient roll. Please confirm with the NGF team whether the error clears once every pod reaches 2.7.0. If it can persist, softening "temporary" would keep a reader from waiting for it to self-resolve instead of applying the explicit-tag fix.
Reading level: The section reads at roughly grade 9–10, which fits the operator audience. The main complexity factors are the longer sentence on line 142 and a few dense noun phrases ("data plane image tag"). The line-142 split and the line-131 reorder bring it into the grade 8–9 target.
Categories checked: voice-and-tone and grammar in full; punctuation, formatting, procedures, and terminology wherever the added text touches them (lists, code blocks, headings, defined terms, numbers, conditional sentences). accessibility, media, and security were checked and are not applicable — no images, screenshots, or sensitive data, so placeholders aren't required. The quoted log line is command output, not an authored error string.
Submitting this as a review comment, not a change request — none of the style notes block merge, and the merge decision is the maintainer's. Nice addition.
|
|
||
| When upgrading, pods roll one at a time. During this window, the new control plane may push configurations to pods still running the previous image version, causing temporary validation errors. | ||
|
|
||
| The Helm chart may not automatically update the data plane image tag if it was previously set or defaulted. This can result in: |
There was a problem hiding this comment.
Style (conditional-sentences): F5 style puts the condition first, then the outcome, so a reader learns when the caveat applies before reading it. Consider reordering:
If the image tag for the data plane was previously set or defaulted, the Helm chart may not update it automatically.
This order also breaks up the four-word noun cluster "data plane image tag" (noun-clusters, three-word max).
Proposed changes
Improves upgrade docs to avoid running into issues when doing NGF upgrade.
Checklist
Before sharing this pull request, I completed the following checklist:
Footnotes
Potentially sensitive information includes personally identify information (PII), authentication credentials, and live URLs. Refer to the style guide for guidance about placeholder content. ↩