helm-charts icon indicating copy to clipboard operation
helm-charts copied to clipboard

[Bug] Postgres/MySQL databases are not provisioned on fresh install

Open ogusak opened this issue 1 year ago • 0 comments

What are you really trying to do?

Install temporal with helm chart configured with sql/Postgres persistent storage

Describe the bug

Configured helm values file using example for Postgres. After running helm deploy noticed that container for temporal-schema-setup is in a crash loop. Logs say cannot connect to database <>. Database does not exist

Looking at the helm chart, noticed that in server-job.yaml a create-default-store and create-visibility-store init containers should be created.

Generated complete manifest with helm template -f my_values.yaml . and noticed that initContainers section is empty (contains [] only)

Minimal Reproduction

Using example values file for Postgres, generate deployment manifests with:

helm template . -f values/values.postgresql.yaml --debug > test.yaml

Inspect section # Source: temporal/templates/server-job.yaml which shows no initContainers were generated

# Source: temporal/templates/server-job.yaml
apiVersion: batch/v1
kind: Job
metadata:
  name: release-name-temporal-schema-setup
  labels:
    app.kubernetes.io/name: temporal
    helm.sh/chart: temporal-0.43.0
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/instance: release-name
    app.kubernetes.io/version: 1.24.2
    app.kubernetes.io/component: database
    app.kubernetes.io/part-of: temporal
  annotations:
    "helm.sh/hook": pre-install
    "helm.sh/hook-weight": "0"
    "helm.sh/hook-delete-policy": hook-succeeded,hook-failed
spec:
  backoffLimit: 100
  template:
    metadata:
      name: release-name-temporal-schema-setup
      labels:
        app.kubernetes.io/name: temporal
        helm.sh/chart: temporal-0.43.0
        app.kubernetes.io/managed-by: Helm
        app.kubernetes.io/instance: release-name
        app.kubernetes.io/version: 1.24.2
        app.kubernetes.io/component: database
        app.kubernetes.io/part-of: temporal
    spec:
      
      restartPolicy: "OnFailure"
      initContainers:
          []
      containers:
        - name: default-schema
      ....

Environment/Versions

  • Temporal Version: 0.43.0

Additional context

This bug was introduced with new Helm release when Values.schema.createDatabase.enabled variable was added: https://github.com/temporalio/helm-charts/commit/f6e0e3aae1b4df067526d989d2e2e86e8c4e1490

ogusak avatar Jul 03 '24 23:07 ogusak