-
Bug
-
Resolution: Unresolved
-
Blocker
-
None
-
quay-v3.16.0
-
False
-
-
False
-
-
Description:
Upgrade from Quay 3.15/3.14 to 3.16.0, all data are lost, the upgrade created a NEW database PVC instead of migrating data from the old one
Quay version:
stable-3-16-v4-19 quay.io/redhat-user-workloads/quay-eng-tenant/stable-3-16-v4-19@sha256:57227ce4e2315f7c265acc4e128bccd0fe865717470c83fad02d2f12e1c3b056
Steps:
- Install latest Quay 3.15, and quayregistry, create org/repo, push images
- Upgrade to Quay 3.16
oc patch Subscription -n quay-enterprise-15542 quay-operator --type json -p '[{"op": "add", "path": "/spec/source", "value": "fbc-operator-catalog"}]' oc patch Subscription -n quay-enterprise-15542 quay-operator --type json -p '[{"op": "add", "path": "/spec/channel", "value": "stable-3.16"}]'
3, Check Quay pod status
Result:
All pods running, but previous user can't login, no data in quayregistry-quay-database.

deployment still use old pvc, and the postgres upgrade job ran initdb which OVERWROTE the data on it
$ oc get deployment quayregistry-quay-database -oyaml apiVersion: apps/v1 kind: Deployment metadata: ... - name: postgres-data persistentVolumeClaim: claimName: quayregistry-quay-postgres-13
$ oc get pod
NAME READY STATUS RESTARTS AGE
quay-operator.v3.16.0-77b5cbdfb4-flsrf 1/1 Running 0 24m
quayregistry-clair-app-5df8f55b68-4tq9g 1/1 Running 2 (22m ago) 22m
quayregistry-clair-app-5df8f55b68-dxmft 1/1 Running 0 21m
quayregistry-clair-postgres-9b54cb7c4-bdzk6 1/1 Running 0 22m
quayregistry-clair-postgres-upgrade-vd9rj 0/1 Completed 2 23m
quayregistry-quay-app-55c9fdf758-57jlp 1/1 Running 0 21m
quayregistry-quay-app-55c9fdf758-8vtjl 1/1 Running 0 21m
quayregistry-quay-app-upgrade-xkp2b 0/1 Completed 1 22m
quayregistry-quay-database-7bd98cb4bb-g6p8m 1/1 Running 0 22m
quayregistry-quay-mirror-69bc5d645b-8h9cr 1/1 Running 0 22m
quayregistry-quay-mirror-69bc5d645b-wckgr 1/1 Running 0 22m
quayregistry-quay-postgres-upgrade-k8r9n 0/1 Completed 3 23m
quayregistry-quay-redis-6dcf74648-df7dq 1/1 Running 0 23m
% oc logs quayregistry-quay-app-upgrade-fcsgq __ __ / \ / \ ______ _ _ __ __ __ / /\ / /\ \ / __ \ | | | | / \ \ \ / / / / / / \ \ | | | | | | | | / /\ \ \ / \ \ \ \ / / | |__| | | |__| | / ____ \ | | \ \/ \ \/ / \_ ___/ \____/ /_/ \_\ |_| \__/ \__/ \ \__ \___\ by Red Hat Build, Store, and Distribute your Containers Startup timestamp: Thu Nov 27 02:20:07 AM UTC 2025 Installing extra certificates found in /quay-registry/conf/stack/extra_ca_certs directory Entering migration mode to version: head /opt/app-root/lib64/python3.12/site-packages/peewee.py:2784: SyntaxWarning: invalid escape sequence '\w' clean_field_names = re.sub('[^\w]+', '', '_'.join(accum)) /opt/app-root/lib64/python3.12/site-packages/peewee.py:5763: SyntaxWarning: invalid escape sequence '\w' return re.sub('[^\w]+', '_', self.name) fatal: not a git repository: /quay-registry/../.git/modules/quay /opt/app-root/lib64/python3.12/site-packages/playhouse/sqlite_ext.py:451: SyntaxWarning: invalid escape sequence '\s' _quote_re = re.compile('(?:[^\s"]|"(?:\\.|[^"])*")+') /opt/app-root/lib64/python3.12/site-packages/splunklib/client.py:782: SyntaxWarning: invalid escape sequence '\/' versionSearch = re.search('(?:servicesNS\/[^/]+\/[^/]+|services)\/[^/]+\/v(\d+)\/', path) 02:20:13 INFO [alembic.runtime.migration] Context impl PostgresqlImpl. 02:20:13 INFO [alembic.runtime.migration] Will assume non-transactional DDL.