From 390fed407b0caeca4ee65af555349eac335636ba Mon Sep 17 00:00:00 2001 From: Jonathan King Date: Fri, 18 Oct 2024 09:52:25 -0400 Subject: [PATCH] pgupgrade: Use different service for postgres old (PROJQUAY-6672) - Use a different service for the old postgres deployment during the upgrade process - This ensures that the service will not point to the terminating deployment --- .../base/clair-pg-old.deployment.yaml | 8 ++++---- .../base/clair-pg-old.service.yaml | 17 +++++++++++++++++ .../base/clair-pg-upgrade.job.yaml | 10 +++++----- pkg/kustomize/secrets.go | 1 + 4 files changed, 27 insertions(+), 9 deletions(-) create mode 100644 kustomize/components/clairpgupgrade/base/clair-pg-old.service.yaml diff --git a/kustomize/components/clairpgupgrade/base/clair-pg-old.deployment.yaml b/kustomize/components/clairpgupgrade/base/clair-pg-old.deployment.yaml index 53718d365..3ddb3769e 100644 --- a/kustomize/components/clairpgupgrade/base/clair-pg-old.deployment.yaml +++ b/kustomize/components/clairpgupgrade/base/clair-pg-old.deployment.yaml @@ -3,20 +3,20 @@ kind: Deployment metadata: name: clair-postgres-old labels: - quay-component: clair-postgres + quay-component: clair-postgres-old annotations: - quay-component: clair-postgres + quay-component: clair-postgres-old spec: replicas: 1 strategy: type: Recreate selector: matchLabels: - quay-component: clair-postgres + quay-component: clair-postgres-old template: metadata: labels: - quay-component: clair-postgres + quay-component: clair-postgres-old spec: terminationGracePeriodSeconds: 180 serviceAccountName: clair-postgres diff --git a/kustomize/components/clairpgupgrade/base/clair-pg-old.service.yaml b/kustomize/components/clairpgupgrade/base/clair-pg-old.service.yaml new file mode 100644 index 000000000..865d42331 --- /dev/null +++ b/kustomize/components/clairpgupgrade/base/clair-pg-old.service.yaml @@ -0,0 +1,17 @@ +apiVersion: v1 +kind: Service +metadata: + name: clair-postgres-old + labels: + quay-component: clair-postgres-old + annotations: + quay-component: clair-postgres-old +spec: + type: ClusterIP + ports: + - port: 5432 + protocol: TCP + name: postgres + targetPort: 5432 + selector: + quay-component: clair-postgres-old diff --git a/kustomize/components/clairpgupgrade/base/clair-pg-upgrade.job.yaml b/kustomize/components/clairpgupgrade/base/clair-pg-upgrade.job.yaml index 41f1278f2..19be19445 100644 --- a/kustomize/components/clairpgupgrade/base/clair-pg-upgrade.job.yaml +++ b/kustomize/components/clairpgupgrade/base/clair-pg-upgrade.job.yaml @@ -31,7 +31,7 @@ spec: valueFrom: secretKeyRef: name: clair-config-secret - key: clair-db-host + key: clair-db-old-host - name: POSTGRESQL_MIGRATION_ADMIN_PASSWORD value: postgres - name: POSTGRESQL_SHARED_BUFFERS @@ -49,9 +49,9 @@ spec: cpu: 500m memory: 2Gi command: - - "/bin/sh" - - "-c" + - "/bin/sh" + - "-c" args: - - > - run-postgresql --version || (echo "postgres migration command failed, cleaning up..." && rm -rf /var/lib/pgsql/data/* && exit 1) + - > + run-postgresql --version || (echo "postgres migration command failed, cleaning up..." && rm -rf /var/lib/pgsql/data/* && exit 1) backoffLimit: 50 diff --git a/pkg/kustomize/secrets.go b/pkg/kustomize/secrets.go index fd5314ce4..ba22668df 100644 --- a/pkg/kustomize/secrets.go +++ b/pkg/kustomize/secrets.go @@ -377,6 +377,7 @@ func componentConfigFilesFor(log logr.Logger, qctx *quaycontext.QuayRegistryCont cfgFiles["config.yaml"] = cfg cfgFiles["01_user_config.yaml"] = configFiles["clair-config.yaml"] cfgFiles["clair-db-host"] = []byte(strings.TrimSpace(strings.Join([]string{quay.GetName(), "clair-postgres"}, "-"))) + cfgFiles["clair-db-old-host"] = []byte(strings.TrimSpace(strings.Join([]string{quay.GetName(), "clair-postgres-old"}, "-"))) return cfgFiles, nil default: