Skip to content

docs(upgrade): correct the v1.7 upgrade guide against the upgrade test - #781

Merged
myasnikovdaniil merged 1 commit into
mainfrom
docs/upgrade-v1.7-guide-fixes
Oct 29, 2026
Merged

myasnikovdaniil merged 1 commit into
mainfrom
docs/upgrade-v1.7-guide-fixes

Conversation

@myasnikovdaniil

Copy link
Copy Markdown
Contributor

This PR corrects the v1.6 to v1.7 upgrade guide where it disagrees with what v1.7.0 does. Every change was checked against an upgrade of a test cluster from v1.6.5 to v1.7.0-rc.2, its re-run on rc.3, and the code at the rc.3 tag. What was only seen on the test cluster is written as such.

Corrected:

  • migration 59 copies a volume hot-plugged only on the VMI into the VM spec, but on a VMInstance the same upgrade re-renders the VM from spec.disks and KubeVirt unplugs it, so the guide now gives the steps to take before upgrading
  • tenant kube-apiservers roll at least twice, and a tenant with --enable-admission-plugins in extraArgs runs without NodeRestriction until its kubernetes release upgrades
  • the API accepts edits of KubernetesNodes cluster and storageClass, only the dashboard refuses the second one
  • every PostgreSQL instance restarted once in the CloudNativePG 1.30 upgrade on a test cluster upgraded from v1.6.5
  • the two Cilium agent restarts apply only when upgrading from v1.6.4 or earlier
  • the ApplicationDefinition prefix lives at spec.release.prefix, and the migrations run up to 60 with version 61

Added: migration 60 with the FoundationDB release line and its patch downgrade, image overrides of Kubernetes, KubernetesNodes and OpenSearch that are no longer read, a VM disk still importing during the upgrade, reading the migration log right after the upgrade, free disk space on the nodes, drains held by PostgreSQL primaries, leftover PostgreSQL roles being dropped, the stale OpenSearch securityconfig Job, TLSRoutes left unattached, stripped log metadata, the networking variant guard, the golden-image clone refusal and the remaining pod rolls.

This edits the same file as #764. They conflict on one line in Smaller changes: #764 removes the HTTPCache bullet right above the prefix line fixed here, so the second one to land drops the HTTPCache bullet and keeps spec.release.prefix.

@coderabbitai

coderabbitai Bot commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: f91dc1fa-89e5-4e91-9476-fb0b83a43afe
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@netlify

netlify Bot commented Oct 29, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for cozystack ready!

Name Link
🔨 Latest commit 9ed464f
🔍 Latest deploy log https://app.netlify.com/projects/cozystack/deploys/6ae325af69b24f2868392882
😎 Deploy Preview https://deploy-preview-781--cozystack.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

The upgrade test from v1.6.5 to v1.7.0-rc.2, and its re-run on rc.3,
found the guide contradicting the code: migration 59's copy of a
hot-plugged volume is undone on a VMInstance by its own release, tenant
kube-apiservers roll at least twice, a KubernetesNodes storageClass edit
is accepted by the API, every PostgreSQL instance restarts in the
CloudNativePG 1.30 upgrade even from v1.6.5, the Cilium restarts do not
apply from v1.6.5, and the ApplicationDefinition prefix lives at
spec.release.prefix.

rc.3 added migration 60 (FoundationDB release line, ignored image
overrides) and bounded the wait of a disk still importing, and the guide
said nothing about either. It was also silent on leftover PostgreSQL
roles being dropped, the stale OpenSearch securityconfig Job, unattached
TLSRoutes, stripped log metadata, the networking variant guard, the
golden-image clone refusal, the remaining pod rolls, the migration log
a test cluster lost about 20 minutes after the run, node disk space and
drains held by PostgreSQL primaries.

Assisted-by: LLM
Signed-off-by: Myasnikov Daniil <myasnikovdaniil2001@gmail.com>
@myasnikovdaniil
myasnikovdaniil merged commit 29c2124 into main Oct 29, 2026
7 of 8 checks passed
@myasnikovdaniil
myasnikovdaniil deleted the docs/upgrade-v1.7-guide-fixes branch October 29, 2026 11:06
myasnikovdaniil added a commit that referenced this pull request Oct 30, 2026
The v1.7 upgrade guide says the default variant runs no platform
migration and leaves HTTPCache to the operator, but only offers a
command to list instances. Upgrading such a cluster prunes the HTTPCache
PackageSource and the chart sources it owns, which leaves http-cache-rd
and every tenant HTTPCache release Ready=False for good while the pods
keep serving.

The new HTTPCache section gives those operators the steps migration 58
takes on every other variant: remove the application where no instance
exists, or freeze it on the packages artifact the cluster already runs
and keep the tenant admin grant that v1.7 drops from
cozy:tenant:admin:base. The commands, names and selectors are those of
migration 58 at the v1.7.0 tag. The checklist and the migrations table
now point at the section, which replaces the HTTPCache bullet under
Smaller changes.

This is #764's change as merged with the corrections from #781, in
next/ and, with the rewrite release_next.sh applies, in v1.7/.

Assisted-By: LLM
Signed-off-by: Myasnikov Daniil <myasnikovdaniil2001@gmail.com>
myasnikovdaniil added a commit that referenced this pull request Oct 30, 2026
The v1.7 upgrade guide says the default variant runs no platform
migration and leaves HTTPCache to the operator, but only offers a
command to list instances. Upgrading such a cluster prunes the HTTPCache
PackageSource and the chart sources it owns, which leaves http-cache-rd
and every tenant HTTPCache release Ready=False for good while the pods
keep serving.

The new HTTPCache section gives those operators the steps migration 58
takes on every other variant: remove the application where no instance
exists, or freeze it on the packages artifact the cluster already runs
and keep the tenant admin grant that v1.7 drops from
cozy:tenant:admin:base. The commands, names and selectors are those of
migration 58 at the v1.7.0 tag. The checklist and the migrations table
now point at the section, which replaces the HTTPCache bullet under
Smaller changes.

This is #764's change as merged with the corrections from #781, in
next/ and, with the rewrite release_next.sh applies, in v1.7/.

Assisted-By: LLM
Signed-off-by: Myasnikov Daniil <myasnikovdaniil2001@gmail.com>
myasnikovdaniil added a commit that referenced this pull request Oct 30, 2026
)

The v1.7 docs were cut from `next/` in
#780 while several docs PRs
about v1.7.0 behaviour were still open against `next/` only, so
`/docs/v1.7/` and the stable `/docs/` copy miss them. This adds their
content to `content/en/docs/v1.7/`, checked against the v1.7.0 tag.
Every page is the source PR's `next/` file with the same `/docs/next/`
rewrite that `hack/release_next.sh` does, except where noted.

- #763
- #747, hand-merged after
`networking.kubeovn.MASTER_NODES` because main got the
`networking.encryption.enabled` row after its base
- #761, with four corrections
below
- #762
- #766
- #764, the HTTPCache section
of the upgrade guide, in both `next/` and `v1.7/` on top of the fixes
from #781. I'm not carrying 764
further, this PR takes over its content.

Four lines of the Proxmox page are wrong for v1.7.0 and are fixed in the
v1.7 copy only. `replicas: 2` in the KubernetesNodes example is now
`minReplicas: 2` and `maxReplicas: 2`, there is no `replicas` field. The
CCM and CSI controller Deployments are `kubernetes-<cluster>-pccm` and
`kubernetes-<cluster>-pcsi-controller`. `bundles.enabledPackages` is set
on the `cozystack.cozystack-platform` Package, no ConfigMap feeds it.
The CSI release depends only on the tenant Cilium release, not on the
CCM, so I cut that clause. The `next/` copy in 761 needs the same fixes.

The `next/` side of 763, 747, 761, 762 and 766 and the `v1.6/` side of
763, 762 and 766 stay in their own PRs, so they still merge without
conflicts with this one. Nothing generated is committed, the stable
`/docs/` copies are built from `v1.7/` at build time.

Hugo production and preview builds, `hack/check-i18n.sh` and a link and
anchor check of every changed page pass locally, with the same Hugo
warnings as main.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants