Incompatible changes break upgrade
Nobody has claimed this yet.
- Dominant language
- Mustache
- Stars
- 41
- Forks
- 45
- Avg merge
- 1h 24m
- Merged PRs (30d)
- 37
Description
Describe the issue
Currently I'm running 4.14.2 and trying to upgrade to 4.14.latest, which fails.
First error is this
$ helm upgrade -n weblate weblate weblate/weblate -f values.yaml
Error: UPGRADE FAILED: execution error at (weblate/charts/postgresql/templates/secrets.yaml:17:24):
PASSWORDS ERROR: The secret "weblate-postgresql" does not contain the key "postgres-password"
After duplicating the old entry postgresql-passwort to postgres-password using kubectl -n weblate edit secret/weblate-postgresql I now get the next error (reformatted for readability):
$ helm upgrade -n weblate weblate weblate/weblate -f values.yaml
Error: UPGRADE FAILED:
cannot patch "weblate-postgresql" with kind StatefulSet: StatefulSet.apps "weblate-postgresql" is invalid: spec:
Forbidden: updates to statefulset spec for fields other than 'replicas', 'template', 'updateStrategy', 'persistentVolumeClaimRetentionPolicy' and 'minReadySeconds' are forbidden
&&
cannot patch "weblate-redis-master" with kind StatefulSet: StatefulSet.apps "weblate-redis-master" is invalid: spec:
Forbidden: updates to statefulset spec for fields other than 'replicas', 'template', 'updateStrategy', 'persistentVolumeClaimRetentionPolicy' and 'minReadySeconds' are forbidden
I already tried
- I've read and searched the documentation.
- I've searched for similar issues in this repository.
Steps to reproduce the behavior
helm upgrade -n weblate weblate weblate/weblate -f values.yaml
Expected behavior
helm upgrading Weblate
Screenshots
No response
Exception traceback
$ helm upgrade -n weblate weblate weblate/weblate -f values.yaml --debug
…
client.go:250: [debug] error updating the resource "weblate-postgresql":
cannot patch "weblate-postgresql" with kind StatefulSet: StatefulSet.apps "weblate-postgresql" is invalid: spec: Forbidden: updates to statefulset spec for fields other than 'replicas', 'template', 'updateStrategy', 'persistentVolumeClaimRetentionPolicy' and 'minReadySeconds' are forbidden
client.go:510: [debug] Patch StatefulSet "weblate-redis-master" in namespace weblate
client.go:250: [debug] error updating the resource "weblate-redis-master":
cannot patch "weblate-redis-master" with kind StatefulSet: StatefulSet.apps "weblate-redis-master" is invalid: spec: Forbidden: updates to statefulset spec for fields other than 'replicas', 'template', 'updateStrategy', 'persistentVolumeClaimRetentionPolicy' and 'minReadySeconds' are forbidden
$ helm upgrade -n weblate weblate weblate/weblate -f values.yaml --debug --dry-run
…
### Additional context
_No response_
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the Helm upgrade command and the reported failure in weblate/charts/postgresql/templates/secrets.yaml:17:24. Compare the existing PostgreSQL and Redis StatefulSet specifications with those rendered by the 4.14.latest chart, including the postgres-password secret requirement. Done means an upgrade from 4.14.2 completes without manual secret edits or forbidden StatefulSet changes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- helm, kubernetes, postgresql, redis
- Domain
- databases, devops, infrastructure
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100