WeblateOrg / WeblateOrg/helm

Incompatible changes break upgrade

Open
#226 9 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
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
  1. 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.