Uploaded image for project: 'Project Quay'
  1. Project Quay
  2. PROJQUAY-9863

Quay upgrade to 3.16 will lost all data

XMLWordPrintable

    • False
    • Hide

      None

      Show
      None
    • 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:

      1. Install latest Quay 3.15, and quayregistry, create org/repo, push images  
      2. 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. 

              Unassigned Unassigned
              szhao@redhat.com Sean Zhao
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated: